mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
Updated patch for vlc-0.8.6i on Haiku, this one gets a bit further, but still not linking.
This commit is contained in:
@@ -1,6 +1,239 @@
|
||||
diff -urN vlc-0.8.6i/configure.ac vlc-0.8.6i-haiku/configure.ac
|
||||
--- vlc-0.8.6i/configure.ac 2009-02-18 15:15:26.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/configure.ac 2009-02-21 22:47:18.000000000 +0000
|
||||
@@ -256,6 +256,7 @@
|
||||
VLC_ADD_LDFLAGS([vlc logger],[-lbe])
|
||||
VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
|
||||
VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
|
||||
+ VLC_ADD_LDFLAGS([access_file],[-lpoll])
|
||||
LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
|
||||
|
||||
dnl Check for BONE
|
||||
@@ -270,11 +271,24 @@
|
||||
VLC_ADD_LDFLAGS([beos],[-lzeta])
|
||||
fi
|
||||
;;
|
||||
+ haiku*)
|
||||
+ SYS=haiku
|
||||
+ CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
|
||||
+ CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
|
||||
+ VLC_ADD_CXXFLAGS([haiku],[])
|
||||
+ VLC_ADD_LDFLAGS([vlc logger],[-lbe])
|
||||
+ VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
|
||||
+ VLC_ADD_LDFLAGS([dvdnav dvdread],[])
|
||||
+ VLC_ADD_LDFLAGS([access_file],[-lroot])
|
||||
+ LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
|
||||
+ VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnetwork])
|
||||
+ ;;
|
||||
*)
|
||||
SYS="${target_os}"
|
||||
;;
|
||||
esac
|
||||
AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
|
||||
+AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku")
|
||||
AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
|
||||
AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
|
||||
AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
|
||||
@@ -444,12 +458,26 @@
|
||||
])
|
||||
])
|
||||
|
||||
+AC_CHECK_FUNCS(connect,,[
|
||||
+ AC_CHECK_LIB(network,connect,[
|
||||
+ VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lnetwork)
|
||||
+ LIBS_socket="-lnetwork"
|
||||
+ ])
|
||||
+])
|
||||
+
|
||||
+
|
||||
AC_CHECK_FUNCS(send,,[
|
||||
AC_CHECK_LIB(socket,send,[
|
||||
VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
|
||||
])
|
||||
])
|
||||
|
||||
+AC_CHECK_FUNCS(send,,[
|
||||
+ AC_CHECK_LIB(network,send,[
|
||||
+ VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lnetwork])
|
||||
+ ])
|
||||
+])
|
||||
+
|
||||
AC_CHECK_FUNCS(gethostbyname,,[
|
||||
AC_CHECK_LIB(nsl,gethostbyname,[
|
||||
VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
|
||||
@@ -460,11 +488,22 @@
|
||||
])
|
||||
])
|
||||
|
||||
+AC_CHECK_FUNCS(gethostbyname,,[
|
||||
+ AC_CHECK_LIB(nsl,gethostbyname,[
|
||||
+ VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
|
||||
+ ],[
|
||||
+ AC_CHECK_LIB(network,gethostbyname,[
|
||||
+ VLC_ADD_LDFLAGS([ipv4 access_mms],[-lnetwork])
|
||||
+ ])
|
||||
+ ])
|
||||
+])
|
||||
+
|
||||
dnl Check for socklen_t
|
||||
AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
|
||||
[AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
- #include <sys/socket.h>],
|
||||
+ #include <sys/socket.h>
|
||||
+ #include <sys/select.h>],
|
||||
[socklen_t len = 42; return len;],
|
||||
ac_cv_type_socklen_t=yes,
|
||||
ac_cv_type_socklen_t=no)])
|
||||
@@ -497,8 +536,10 @@
|
||||
dnl we purposedly make the test fail on Windows
|
||||
LIBS_save="${LIBS}"
|
||||
AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
|
||||
+AC_SEARCH_LIBS([getaddrinfo], [nsl] [network], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
|
||||
AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
|
||||
|
||||
+
|
||||
dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
|
||||
dnl are
|
||||
LIBS="${LIBS_gai}"
|
||||
@@ -804,8 +845,6 @@
|
||||
|
||||
dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
|
||||
|
||||
-PKG_PROG_PKG_CONFIG()
|
||||
-
|
||||
dnl Check for hal
|
||||
AC_ARG_ENABLE(hal,
|
||||
[ --enable-hal Linux HAL services discovery (default enabled)])
|
||||
@@ -2742,28 +2781,12 @@
|
||||
AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
|
||||
AC_CHECK_HEADERS(postproc/postprocess.h libpostproc/postprocess.h)
|
||||
|
||||
- AC_CHECK_LIB(avutil, av_crc_init, [
|
||||
- VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
|
||||
- LDAVUTIL="-lavutil"])
|
||||
-
|
||||
- AC_CHECK_LIB(avcodec, avcodec_init, [
|
||||
- VLC_ADD_BUILTINS([ffmpeg])
|
||||
- VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
|
||||
- if test "${enable_sout}" != "no"; then
|
||||
- VLC_ADD_BUILTINS([stream_out_switcher])
|
||||
- fi],
|
||||
- [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
|
||||
-
|
||||
-
|
||||
- AC_CHECK_LIB(postproc, pp_postprocess, [
|
||||
- VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
|
||||
- AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
|
||||
- [$LDAVUTIL])
|
||||
-
|
||||
- AC_CHECK_LIB(avformat, av_open_input_stream, [
|
||||
- VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
|
||||
- LDFLAGS="${LDFLAGS_save}"
|
||||
- CPPFLAGS="${CPPFLAGS_save}"
|
||||
+ VLC_ADD_BUILTINS([ffmpeg])
|
||||
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
|
||||
+ LDAVUTIL="-lavutil"
|
||||
+ VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])
|
||||
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
|
||||
+ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz])
|
||||
])
|
||||
fi
|
||||
fi
|
||||
@@ -4407,7 +4430,7 @@
|
||||
AC_ARG_WITH(,[Interface plugins:])
|
||||
|
||||
dnl special case for BeOS
|
||||
-if test "${SYS}" = "beos"
|
||||
+if test "${SYS}" = "beos" || test "${SYS}" = "haiku"
|
||||
then
|
||||
VLC_ADD_BUILTINS([beos])
|
||||
fi
|
||||
@@ -4418,8 +4441,7 @@
|
||||
AC_ARG_ENABLE(skins2,
|
||||
[ --enable-skins2 Skins2 interface module (experimental)])
|
||||
if test "${enable_skins2}" = "yes" ||
|
||||
- (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
|
||||
- test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
|
||||
+ (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${SYS}" != "haiku" && test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
|
||||
|
||||
dnl test for the required libraries
|
||||
skins2_missing_lib="no"
|
||||
diff -urN vlc-0.8.6i/extras/contrib/src/Makefile vlc-0.8.6i-haiku/extras/contrib/src/Makefile
|
||||
--- vlc-0.8.6i/extras/contrib/src/Makefile 2009-02-18 15:15:55.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/extras/contrib/src/Makefile 2009-02-18 15:13:25.000000000 +0000
|
||||
@@ -153,9 +153,9 @@
|
||||
ifdef HAVE_BEOS
|
||||
ifeq ($(HOST),$(BUILD))
|
||||
# Native build: we need perl, autoconf, etc first
|
||||
- all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \
|
||||
+ all: .libtool .iconv .intl .freetype .fribidi \
|
||||
.a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
|
||||
- .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \
|
||||
+ .faad .lame .ebml .matroska .dvdcss \
|
||||
.dvdnav .dvbpsi .aclocal .libdca
|
||||
else
|
||||
# Cross compiling: we already have the Linux tools, only build the
|
||||
diff -urN vlc-0.8.6i/include/vlc_threads.h vlc-0.8.6i-haiku/include/vlc_threads.h
|
||||
--- vlc-0.8.6i/include/vlc_threads.h 2009-02-18 15:16:01.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/include/vlc_threads.h 2009-02-21 17:59:20.000000000 +0000
|
||||
@@ -45,7 +45,7 @@
|
||||
#elif defined( HAVE_KERNEL_SCHEDULER_H ) /* BeOS */
|
||||
# include <kernel/OS.h>
|
||||
# include <kernel/scheduler.h>
|
||||
-# include <byteorder.h>
|
||||
+# include <ByteOrder.h>
|
||||
|
||||
#elif defined( PTHREAD_COND_T_IN_PTHREAD_H ) /* pthreads (like Linux & BSD) */
|
||||
# include <pthread.h>
|
||||
diff -urN vlc-0.8.6i/modules/codec/telx.c vlc-0.8.6i-haiku/modules/codec/telx.c
|
||||
--- vlc-0.8.6i/modules/codec/telx.c 2009-02-18 15:15:33.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/modules/codec/telx.c 2009-02-18 15:14:10.000000000 +0000
|
||||
@@ -27,7 +27,7 @@
|
||||
*****************************************************************************/
|
||||
#include <vlc/vlc.h>
|
||||
#include <assert.h>
|
||||
-#include <stdint.h>
|
||||
+#include <inttypes.h>
|
||||
|
||||
#include <vlc/vout.h>
|
||||
#include <vlc/decoder.h>
|
||||
@@ -450,7 +450,7 @@
|
||||
vlc_bool_t b_update = VLC_FALSE;
|
||||
char psz_text[512], *pt = psz_text;
|
||||
char psz_line[256];
|
||||
- int i, total;
|
||||
+ int i, total, mpag, row, magazine;
|
||||
|
||||
if( pp_block == NULL || *pp_block == NULL ) return NULL;
|
||||
p_block = *pp_block;
|
||||
@@ -473,8 +473,7 @@
|
||||
/* continue; */
|
||||
/* } */
|
||||
|
||||
- int mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] );
|
||||
- int row, magazine;
|
||||
+ mpag = (hamming_8_4( packet[4] ) << 4) | hamming_8_4( packet[5] );
|
||||
if ( mpag < 0 )
|
||||
{
|
||||
/* decode error */
|
||||
diff -urN vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp
|
||||
--- vlc-0.8.6i/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:15:26.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/modules/gui/beos/InterfaceWindow.cpp 2009-02-18 15:13:51.000000000 +0000
|
||||
@@ -319,10 +319,8 @@
|
||||
|
||||
/* Add the Show menu */
|
||||
fShowMenu = new BMenu( _("Window") );
|
||||
-#if 0
|
||||
ADD_ELLIPSIS( _("Playlist") );
|
||||
fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_PLAYLIST ), 'P') );
|
||||
-#endif
|
||||
ADD_ELLIPSIS( _("Messages") );
|
||||
fShowMenu->AddItem( new BMenuItem( psz_tmp, new BMessage( OPEN_MESSAGES ), 'M' ) );
|
||||
ADD_ELLIPSIS( _("Preferences") );
|
||||
diff -urN vlc-0.8.6i/src/input/input.c vlc-0.8.6i-haiku/src/input/input.c
|
||||
--- vlc-0.8.6i/src/input/input.c 2008-07-08 14:08:36.000000000 -0700
|
||||
+++ vlc-0.8.6i-haiku/src/input/input.c 2008-08-14 06:52:18.000000000 -0700
|
||||
--- vlc-0.8.6i/src/input/input.c 2009-02-18 15:15:13.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/src/input/input.c 2009-02-21 18:02:02.000000000 +0000
|
||||
@@ -1886,7 +1886,7 @@
|
||||
{
|
||||
vlc_meta_t *p_meta = p_input->p_meta;
|
||||
@@ -18,41 +251,115 @@ diff -urN vlc-0.8.6i/src/input/input.c vlc-0.8.6i-haiku/src/input/input.c
|
||||
if( asprintf( &psz_cat, "%s %d", _("Stream"), i ) != -1 )
|
||||
{
|
||||
for( j = 0; j < tk->i_meta; j++ )
|
||||
diff -urN vlc-0.8.6i/src/network/httpd.c vlc-0.8.6i-haiku/src/network/httpd.c
|
||||
--- vlc-0.8.6i/src/network/httpd.c 2008-07-08 14:08:36.000000000 -0700
|
||||
+++ vlc-0.8.6i-haiku/src/network/httpd.c 2008-08-14 07:07:11.000000000 -0700
|
||||
@@ -366,6 +366,7 @@
|
||||
diff -urN vlc-0.8.6i/src/misc/threads.c vlc-0.8.6i-haiku/src/misc/threads.c
|
||||
--- vlc-0.8.6i/src/misc/threads.c 2009-02-18 15:15:12.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/src/misc/threads.c 2009-02-21 18:45:41.000000000 +0000
|
||||
@@ -524,7 +524,7 @@
|
||||
{
|
||||
httpd_file_t *file = (httpd_file_t*)p_sys;
|
||||
int i_ret;
|
||||
void *p_data = (void *)p_this;
|
||||
-
|
||||
+/*
|
||||
vlc_mutex_lock( &p_this->object_lock );
|
||||
|
||||
#if defined( PTH_INIT_IN_PTH_H )
|
||||
@@ -538,10 +538,11 @@
|
||||
#elif defined( WIN32 ) || defined( UNDER_CE )
|
||||
{
|
||||
unsigned threadID;
|
||||
- /* When using the MSVCRT C library you have to use the _beginthreadex
|
||||
+*/ /* When using the MSVCRT C library you have to use the _beginthreadex
|
||||
* function instead of CreateThread, otherwise you'll end up with
|
||||
* memory leaks and the signal functions not working (see Microsoft
|
||||
* Knowledge Base, article 104641) */
|
||||
+/*
|
||||
p_this->thread_id =
|
||||
#if defined( UNDER_CE )
|
||||
(HANDLE)CreateThread( NULL, 0, (PTHREAD_START) func,
|
||||
@@ -636,7 +637,7 @@
|
||||
psz_name, psz_file, i_line, strerror(i_ret) );
|
||||
vlc_mutex_unlock( &p_this->object_lock );
|
||||
}
|
||||
-
|
||||
+*/
|
||||
return i_ret;
|
||||
}
|
||||
|
||||
@@ -647,6 +648,7 @@
|
||||
int __vlc_thread_set_priority( vlc_object_t *p_this, char * psz_file,
|
||||
int i_line, int i_priority )
|
||||
{
|
||||
+/*
|
||||
#if defined( PTH_INIT_IN_PTH_H ) || defined( ST_INIT_IN_ST_H )
|
||||
#elif defined( WIN32 ) || defined( UNDER_CE )
|
||||
if( !SetThreadPriority(GetCurrentThread(), i_priority) )
|
||||
@@ -689,7 +691,7 @@
|
||||
}
|
||||
}
|
||||
#endif
|
||||
-
|
||||
+*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff -urN vlc-0.8.6i/src/misc/vlm.c vlc-0.8.6i-haiku/src/misc/vlm.c
|
||||
--- vlc-0.8.6i/src/misc/vlm.c 2009-02-18 15:15:12.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/src/misc/vlm.c 2009-02-21 18:53:35.000000000 +0000
|
||||
@@ -1368,10 +1368,10 @@
|
||||
|
||||
vlm_schedule_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name )
|
||||
{
|
||||
+ vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) );
|
||||
if( !psz_name )
|
||||
return NULL;
|
||||
|
||||
- vlm_schedule_t *p_sched = malloc( sizeof( vlm_schedule_t ) );
|
||||
if( !p_sched )
|
||||
return NULL;
|
||||
|
||||
diff -urN vlc-0.8.6i/src/network/httpd.c vlc-0.8.6i-haiku/src/network/httpd.c
|
||||
--- vlc-0.8.6i/src/network/httpd.c 2009-02-18 15:15:13.000000000 +0000
|
||||
+++ vlc-0.8.6i-haiku/src/network/httpd.c 2009-02-21 18:25:54.000000000 +0000
|
||||
@@ -60,6 +60,10 @@
|
||||
#define HTTPD_CL_BUFSIZE 10000
|
||||
#endif
|
||||
|
||||
+
|
||||
+#include<sys/select.h>
|
||||
+
|
||||
+
|
||||
static void httpd_ClientClean( httpd_client_t *cl );
|
||||
|
||||
struct httpd_url_t
|
||||
@@ -368,6 +372,7 @@
|
||||
uint8_t **pp_body, *p_body;
|
||||
+ uint8_t *psz_args = 0;
|
||||
char *psz_connection = NULL;
|
||||
int *pi_body, i_body;
|
||||
+ uint8_t *psz_args = query->psz_args;
|
||||
|
||||
@@ -402,7 +403,8 @@
|
||||
if( answer == NULL || query == NULL )
|
||||
{
|
||||
@@ -402,7 +407,6 @@
|
||||
/* msg_Warn not supported */
|
||||
}
|
||||
|
||||
- uint8_t *psz_args = query->psz_args;
|
||||
+ *psz_args = query->psz_args;
|
||||
+
|
||||
file->pf_fill( file->p_sys, file, psz_args, pp_body, pi_body );
|
||||
|
||||
if( query->i_type == HTTPD_MSG_HEAD && p_body != NULL )
|
||||
@@ -487,6 +489,7 @@
|
||||
@@ -487,6 +491,7 @@
|
||||
{
|
||||
httpd_handler_t *handler = (httpd_handler_t*)p_sys;
|
||||
char psz_remote_addr[NI_MAXNUMERICHOST];
|
||||
+ uint8_t *psz_args = 0;
|
||||
+ uint8_t *psz_args = query->psz_args;
|
||||
|
||||
if( answer == NULL || query == NULL )
|
||||
{
|
||||
@@ -502,7 +505,7 @@
|
||||
@@ -502,7 +507,6 @@
|
||||
if( httpd_ClientIP( cl, psz_remote_addr ) == NULL )
|
||||
*psz_remote_addr = '\0';
|
||||
|
||||
- uint8_t *psz_args = query->psz_args;
|
||||
+ *psz_args = query->psz_args;
|
||||
handler->pf_fill( handler->p_sys, handler, query->psz_url, psz_args,
|
||||
query->i_type, query->p_body, query->i_body,
|
||||
psz_remote_addr, NULL,
|
||||
|
||||
Reference in New Issue
Block a user