diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/README.MINGWCROSS | 14 | ||||
-rw-r--r-- | lib/os_internal.h | 14 | ||||
-rw-r--r-- | lib/timegm.c (renamed from lib/gmtime.c) | 6 | ||||
-rw-r--r-- | lib/unsetenv.c | 7 | ||||
-rw-r--r-- | m4/aa.m4 | 31 | ||||
-rw-r--r-- | src/demuxers/demux_asf.c | 10 | ||||
-rw-r--r-- | src/video_out/Makefile.am | 34 | ||||
-rw-r--r-- | src/video_out/video_out_aa.c | 4 | ||||
-rw-r--r-- | src/video_out/video_out_caca.c | 4 | ||||
-rw-r--r-- | src/video_out/video_out_macosx.m | 4 | ||||
-rw-r--r-- | src/video_out/video_out_none.c | 4 | ||||
-rw-r--r-- | src/xine-engine/io_helper.c | 48 | ||||
-rw-r--r-- | win32/libxinesuppt.dsp | 4 |
14 files changed, 138 insertions, 48 deletions
diff --git a/configure.ac b/configure.ac index c82a7db81..7e949f5e0 100644 --- a/configure.ac +++ b/configure.ac @@ -1815,7 +1815,7 @@ AC_CHECK_FUNCS([vsscanf sigaction sigset getpwuid_r nanosleep lstat memset strch AC_FUNC_FSEEKO AC_DEFINE(_GNU_SOURCE) AC_CHECK_HEADERS(byteswap.h malloc.h execinfo.h ucontext.h sys/mman.h sys/mixer.h libgen.h netdb.h dirent.h sys/times.h sys/ioctl.h sys/param.h) -AC_REPLACE_FUNCS(basename gettimeofday gmtime setenv strndup strpbrk strsep strtok_r) +AC_REPLACE_FUNCS(basename gettimeofday setenv strndup strpbrk strsep strtok_r timegm unsetenv) AC_CHECK_FUNCS(readlink) AC_LIBSOURCE(hstrerror.c) diff --git a/doc/README.MINGWCROSS b/doc/README.MINGWCROSS index c867bf9ac..69b70ff71 100644 --- a/doc/README.MINGWCROSS +++ b/doc/README.MINGWCROSS @@ -235,13 +235,6 @@ Now we can build xine library for Windows by this way: --with-pthread-prefix=$PREFIX/pthreads-win32 # - # build system isn't fully prepared for cross compiling, so it's needed - # manually or by patch disable plugins in Makefiles depending on wrongly - # detected libraries - # - ... - - # # compile # make @@ -253,10 +246,11 @@ Now we can build xine library for Windows by this way: rm /tmp/xine-lib-mingwcross/lib/xine/plugins/1.1.0{/,/post}/*.a # - # if we want to use xine library in M$ compilers, we will need wine and some - # tools from M$ Visual C: LIB.EXE, LINK.EXE, MSPDB60.DLL + # create libxine-1.lib file (optional, when we want to use xine library in + # M$ compilers) # - # create libxine-1.lib file (optional) + # we will need wine and some tools from M$ Visual C: LIB.EXE, LINK.EXE, + # MSPDB60.DLL # cd <path_where_libxine_is_installed_>/lib cp ../bin/libxine-1.dll . diff --git a/lib/os_internal.h b/lib/os_internal.h index 6d5d33ae4..f7365381f 100644 --- a/lib/os_internal.h +++ b/lib/os_internal.h @@ -84,11 +84,17 @@ char *_xine_private_strpbrk(const char *s, const char *accept); char *_xine_private_strsep(char **stringp, const char *delim); #endif -/* replacement of gmtime */ -#ifndef HAVE_GMTIME +/* replacement of timegm */ +#ifndef HAVE_TIMEGM #include <time.h> -#define gmtime(TM) _xine_private_gmtime((TM)) -time_t _xine_private_gmtime(struct tm *tm); +#define timegm(TM) _xine_private_timegm((TM)) +time_t _xine_private_timegm(struct tm *tm); +#endif + +/* replacement of unsetenv */ +#ifndef HAVE_UNSETENV +#define unsetenv(NAME) _xine_private_unsetenv((NAME)) +void _xine_private_unsetenv(const char *name); #endif /* macross needed for MSVC */ diff --git a/lib/gmtime.c b/lib/timegm.c index b6fdd9e4c..182a1b527 100644 --- a/lib/gmtime.c +++ b/lib/timegm.c @@ -1,13 +1,15 @@ +#include "config.h" + #include <time.h> #include <stdlib.h> -time_t _xine_private_gmtime(struct tm *tm) { +time_t _xine_private_timegm(struct tm *tm) { time_t ret; char *tz; tz = getenv("TZ"); setenv("TZ", "", 1); - tzet(); + tzset(); ret = mktime(tm); if (tz) setenv("TZ", tz, 1); else unsetenv("TZ"); diff --git a/lib/unsetenv.c b/lib/unsetenv.c new file mode 100644 index 000000000..76ba332e3 --- /dev/null +++ b/lib/unsetenv.c @@ -0,0 +1,7 @@ +#include "config.h" + +#include <stdlib.h> + +void _xine_private_unsetenv(const char *name) { + putenv(name); +} @@ -176,13 +176,22 @@ int main () { } return 1; } -],, no_aalib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - +],, no_aalib=yes, + AC_TRY_LINK([ +#include <stdio.h> +#include <aalib.h> +], [ return ((AA_LIB_VERSION) || +#ifdef AA_LIB_MINNOR + (AA_LIB_MINNOR) +#else + (AA_LIB_MINOR) +#endif + ); ],, no_aalib=yes)) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi - else + else dnl AALIB_CONFIG AC_MSG_CHECKING([for AALIB version >= $min_aalib_version]) no_aalib="" AALIB_CFLAGS=`$AALIB_CONFIG $aalib_config_args --cflags` @@ -246,11 +255,21 @@ printf("\n*** An old version of AALIB (%d.%d) was found.\n", AA_LIB_VERSION, AA_ } return 1; } -],, no_aalib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) +],, no_aalib=yes, + AC_TRY_LINK([ +#include <stdio.h> +#include <aalib.h> +], [ return ((AA_LIB_VERSION) || +#ifdef AA_LIB_MINNOR + (AA_LIB_MINNOR) +#else + (AA_LIB_MINOR) +#endif + ); ],, no_aalib=yes)) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" - fi - fi dnl AALIB_CONFIG + fi dnl AALIB_CONFIG + fi dnl enable_aalibtest if test "x$no_aalib" = x; then AC_MSG_RESULT(yes) diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index 18f1a54bf..583e0daac 100644 --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_asf.c,v 1.172 2005/07/18 01:28:21 dsalt Exp $ + * $Id: demux_asf.c,v 1.173 2005/11/14 12:34:46 valtri Exp $ * * demultiplexer for asf streams * @@ -169,7 +169,9 @@ typedef struct demux_asf_s { int64_t first_packet_pos; int mode; - + + /* for fewer error messages */ + GUID last_unknown_guid; } demux_asf_t ; typedef struct { @@ -258,7 +260,9 @@ static int get_guid_id (demux_asf_t *this, GUID *g) { return i; } } - + + if (!memcmp(g, &this->last_unknown_guid, sizeof(GUID))) return GUID_ERROR; + memcpy(&this->last_unknown_guid, g, sizeof(GUID)); xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_asf: unknown GUID: 0x%" PRIx32 ", 0x%" PRIx16 ", 0x%" PRIx16 ", " "{ 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 ", 0x%" PRIx8 " }\n", diff --git a/src/video_out/Makefile.am b/src/video_out/Makefile.am index 54f3cde08..7fd141c25 100644 --- a/src/video_out/Makefile.am +++ b/src/video_out/Makefile.am @@ -94,70 +94,70 @@ lib_LTLIBRARIES = $(xshm_module) $(xv_module) $(xvmc_module) \ xineplug_vo_out_xshm_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c yuv2rgb_mlib.c \ video_out_xshm.c $(X11OSD) -xineplug_vo_out_xshm_la_LIBADD = $(MLIB_LIBS) $(X_LIBS) -lXext $(XINE_LIB) +xineplug_vo_out_xshm_la_LIBADD = $(MLIB_LIBS) $(X_LIBS) -lXext $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_xshm_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_xv_la_SOURCES = $(X11OSD) deinterlace.c video_out_xv.c -xineplug_vo_out_xv_la_LIBADD = $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) +xineplug_vo_out_xv_la_LIBADD = $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_xv_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_xvmc_la_SOURCES = deinterlace.c video_out_xvmc.c -xineplug_vo_out_xvmc_la_LIBADD = $(XVMC_LIB) $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) +xineplug_vo_out_xvmc_la_LIBADD = $(XVMC_LIB) $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_xvmc_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_xxmc_la_SOURCES = $(X11OSD) deinterlace.c video_out_xxmc.c\ xvmc_mocomp.c xvmc_vld.c xxmc.h -xineplug_vo_out_xxmc_la_LIBADD = $(XXMC_LIB) $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) +xineplug_vo_out_xxmc_la_LIBADD = $(XXMC_LIB) $(XV_LIB) $(X_LIBS) -lXext $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_xxmc_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_opengl_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c yuv2rgb_mlib.c \ video_out_opengl.c myglext.h $(X11OSD) xineplug_vo_out_opengl_la_LIBADD = $(MLIB_LIBS) $(OPENGL_LIBS) $(GLUT_LIBS) \ - $(GLU_LIBS) $(X_LIBS) -lXext $(XINE_LIB) + $(GLU_LIBS) $(X_LIBS) -lXext $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_opengl_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_syncfb_la_SOURCES = video_out_syncfb.c -xineplug_vo_out_syncfb_la_LIBADD = $(X_LIBS) $(XINE_LIB) +xineplug_vo_out_syncfb_la_LIBADD = $(X_LIBS) $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_syncfb_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_pgx64_la_SOURCES = video_out_pgx64.c -xineplug_vo_out_pgx64_la_LIBADD = $(X_LIBS) $(SUNDGA_LIBS) +xineplug_vo_out_pgx64_la_LIBADD = $(X_LIBS) $(SUNDGA_LIBS) $(THREAD_LIBS) xineplug_vo_out_pgx64_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_pgx32_la_SOURCES = video_out_pgx32.c -xineplug_vo_out_pgx32_la_LIBADD = $(X_LIBS) $(SUNDGA_LIBS) +xineplug_vo_out_pgx32_la_LIBADD = $(X_LIBS) $(SUNDGA_LIBS) $(THREAD_LIBS) xineplug_vo_out_pgx32_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_vidix_la_SOURCES = video_out_vidix.c $(X11OSD) xineplug_vo_out_vidix_la_LIBADD = $(X_LIBS) \ $(top_builddir)/src/video_out/vidix/libvidix.la \ - $(top_builddir)/src/video_out/libdha/libdha.la + $(top_builddir)/src/video_out/libdha/libdha.la $(THREAD_LIBS) xineplug_vo_out_vidix_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_aa_la_SOURCES = video_out_aa.c -xineplug_vo_out_aa_la_LIBADD = $(AALIB_LIBS) +xineplug_vo_out_aa_la_LIBADD = $(AALIB_LIBS) $(THREAD_LIBS) xineplug_vo_out_aa_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_caca_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c yuv2rgb_mlib.c \ video_out_caca.c -xineplug_vo_out_caca_la_LIBADD = $(CACA_LIBS) +xineplug_vo_out_caca_la_LIBADD = $(CACA_LIBS) $(THREAD_LIBS) xineplug_vo_out_caca_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_fb_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c yuv2rgb_mlib.c \ video_out_fb.c -xineplug_vo_out_fb_la_LIBADD = $(MLIB_LIBS) $(XINE_LIB) +xineplug_vo_out_fb_la_LIBADD = $(MLIB_LIBS) $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_fb_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_directfb_la_SOURCES = video_out_directfb.c -xineplug_vo_out_directfb_la_LIBADD = $(DIRECTFB_LIBS) $(X_LIBS) +xineplug_vo_out_directfb_la_LIBADD = $(DIRECTFB_LIBS) $(X_LIBS) $(THREAD_LIBS) xineplug_vo_out_directfb_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_sdl_la_SOURCES = video_out_sdl.c -xineplug_vo_out_sdl_la_LIBADD = $(SDL_LIBS) $(XINE_LIB) +xineplug_vo_out_sdl_la_LIBADD = $(SDL_LIBS) $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_sdl_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_stk_la_SOURCES = video_out_stk.c -xineplug_vo_out_stk_la_LIBADD = $(LIBSTK_LIBS) +xineplug_vo_out_stk_la_LIBADD = $(LIBSTK_LIBS) $(THREAD_LIBS) xineplug_vo_out_stk_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_directx_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c video_out_directx.c @@ -166,13 +166,13 @@ xineplug_vo_out_directx_la_LIBADD = $(DIRECTX_VIDEO_LIBS) $(XINE_LIB) $(THREAD_L xineplug_vo_out_directx_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_none_la_SOURCES = video_out_none.c -xineplug_vo_out_none_la_LIBADD = $(XINE_LIB) +xineplug_vo_out_none_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS) xineplug_vo_out_none_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ xineplug_vo_out_macosx_la_SOURCES = video_out_macosx.m xineplug_vo_out_macosx_la_CPPFLAGS = $(X_CFLAGS) $(MLIB_CFLAGS) xineplug_vo_out_macosx_la_LIBADD = $(MLIB_LIBS) $(OPENGL_LIBS) $(GLUT_LIBS) \ - $(GLU_LIBS) $(X_LIBS) $(XINE_LIB) + $(GLU_LIBS) $(X_LIBS) $(XINE_LIB) $(THREAD_LIBS) # The "-Wl,-framework -Wl,Cocoa" is needed for libtool versions before # 1.5.x (1.257): the default version that ships with Mac OS X is 1.5 (1.1220) xineplug_vo_out_macosx_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@ \ diff --git a/src/video_out/video_out_aa.c b/src/video_out/video_out_aa.c index 55c74d7e1..1bdd580fd 100644 --- a/src/video_out/video_out_aa.c +++ b/src/video_out/video_out_aa.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_aa.c,v 1.45 2005/09/24 19:08:26 miguelfreitas Exp $ + * $Id: video_out_aa.c,v 1.46 2005/11/14 12:34:46 valtri Exp $ * * video_out_aa.c, ascii-art output plugin for xine * @@ -113,6 +113,8 @@ static vo_frame_t *aa_alloc_frame(vo_driver_t *this_gen) { if (!frame) return NULL; + pthread_mutex_init(&frame->vo_frame.mutex, NULL); + frame->vo_frame.proc_slice = NULL; frame->vo_frame.proc_frame = NULL; frame->vo_frame.field = aa_frame_field; diff --git a/src/video_out/video_out_caca.c b/src/video_out/video_out_caca.c index f9eb74b50..29ab5ca1b 100644 --- a/src/video_out/video_out_caca.c +++ b/src/video_out/video_out_caca.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_caca.c,v 1.4 2005/09/24 19:08:26 miguelfreitas Exp $ + * $Id: video_out_caca.c,v 1.5 2005/11/14 12:34:46 valtri Exp $ * * video_out_caca.c, Color AsCii Art output plugin for xine * @@ -124,6 +124,8 @@ static vo_frame_t *caca_alloc_frame(vo_driver_t *this_gen) { if (!frame) return NULL; + pthread_mutex_init(&frame->vo_frame.mutex, NULL); + frame->vo_frame.proc_slice = NULL; frame->vo_frame.proc_frame = NULL; frame->vo_frame.field = caca_frame_field; diff --git a/src/video_out/video_out_macosx.m b/src/video_out/video_out_macosx.m index e69d4e3f3..0149dfbc1 100644 --- a/src/video_out/video_out_macosx.m +++ b/src/video_out/video_out_macosx.m @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_macosx.m,v 1.13 2005/09/25 00:44:04 miguelfreitas Exp $ + * $Id: video_out_macosx.m,v 1.14 2005/11/14 12:34:46 valtri Exp $ * * This output driver makes use of xine's objective-c video_output * classes located in the macosx folder. @@ -103,6 +103,8 @@ static vo_frame_t *macosx_alloc_frame(vo_driver_t *vo_driver) { if(!frame) return NULL; + pthread_mutex_init(&frame->vo_frame.mutex, NULL); + frame->vo_frame.base[0] = NULL; frame->vo_frame.base[1] = NULL; frame->vo_frame.base[2] = NULL; diff --git a/src/video_out/video_out_none.c b/src/video_out/video_out_none.c index 1d55ee208..d5ec0d374 100644 --- a/src/video_out/video_out_none.c +++ b/src/video_out/video_out_none.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_none.c,v 1.23 2005/09/24 19:08:26 miguelfreitas Exp $ + * $Id: video_out_none.c,v 1.24 2005/11/14 12:34:46 valtri Exp $ * * Was originally part of toxine frontend. * ...but has now been adapted to xine coding style standards ;) @@ -94,6 +94,8 @@ static vo_frame_t *none_alloc_frame(vo_driver_t *vo_driver) { if(!frame) return NULL; + pthread_mutex_init(&frame->vo_frame.mutex, NULL); + frame->vo_frame.base[0] = NULL; frame->vo_frame.base[1] = NULL; frame->vo_frame.base[2] = NULL; diff --git a/src/xine-engine/io_helper.c b/src/xine-engine/io_helper.c index 382874124..ae57b6938 100644 --- a/src/xine-engine/io_helper.c +++ b/src/xine-engine/io_helper.c @@ -199,10 +199,56 @@ int _x_io_select (xine_stream_t *stream, int fd, int state, int timeout_msec) { struct timeval select_timeout; int timeout_usec, total_time_usec; int ret; - +#ifdef WIN32 + HANDLE h; + DWORD dwret; + char msg[256]; +#endif + +#ifdef WIN32 + /* handle console file descriptiors differently on Windows */ + switch (fd) { + case STDIN_FILENO: h = GetStdHandle(STD_INPUT_HANDLE); break; + case STDOUT_FILENO: h = GetStdHandle(STD_OUTPUT_HANDLE); break; + case STDERR_FILENO: h = GetStdHandle(STD_ERROR_HANDLE); break; + default: h = INVALID_HANDLE_VALUE; + } +#endif timeout_usec = 1000 * timeout_msec; total_time_usec = 0; +#ifdef WIN32 + if (h != INVALID_HANDLE_VALUE) { + while (total_time_usec < timeout_usec) { + dwret = WaitForSingleObject(h, timeout_msec); + + switch (dwret) { + case WAIT_OBJECT_0: return XIO_READY; + case WAIT_TIMEOUT: + /* select timeout + * aborts current read if action pending. otherwise xine + * cannot be stopped when no more data is available. + */ + if (stream && stream->demux_action_pending) + return XIO_ABORTED; + break; + case WAIT_ABANDONED: + xine_log(stream->xine, XINE_LOG_MSG, + _("io_helper: waiting abandoned\n")); + return XIO_ERROR; + case WAIT_FAILED: + default: + dwret = GetLastError(); + FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, (LPSTR)&msg, sizeof(msg), NULL); + xine_log(stream->xine, XINE_LOG_MSG, + _("io_helper: waiting failed: %s\n"), msg); + return XIO_ERROR; + } + } + total_time_usec += XIO_POLLING_INTERVAL; + return XIO_TIMEOUT; + } +#endif while (total_time_usec < timeout_usec) { FD_ZERO (&fdset); diff --git a/win32/libxinesuppt.dsp b/win32/libxinesuppt.dsp index 01fac0f93..6dc368309 100644 --- a/win32/libxinesuppt.dsp +++ b/win32/libxinesuppt.dsp @@ -136,6 +136,10 @@ SOURCE=..\lib\strsep.c SOURCE=..\lib\strtok_r.c
# End Source File
+# Begin Source File
+SOURCE=..\lib\timegm.c
+# End Source File
+
# End Group
# End Target
|