[SCM] gmtk/upstream: Imported Upstream version 1.0.7
sramacher-guest at users.alioth.debian.org
sramacher-guest at users.alioth.debian.org
Mon Nov 5 21:56:31 UTC 2012
The following commit has been merged in the upstream branch:
commit c92f0f31d1e437f1385f71ef3c708d203cf252b6
Author: Sebastian Ramacher <sebastian at ramacher.at>
Date: Mon Nov 5 21:45:18 2012 +0100
Imported Upstream version 1.0.7
diff --git a/ChangeLog b/ChangeLog
index fb6887c..4ab78c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,69 @@
Development
- Assign NULL to freed strings
- Updated Japanese translation
- Remove debug message
- Kill GTK widget oversize warning
+ Rerun autoreconf -fiv
+1.0.7b
+ Make 'o' toggle the OSD in gmtk_media_player
+ Update makefile so that libgmtk is dependent on libgmlib so that parallel builds work
+ Updated Polish translation
+ Add anamorphic aspect ratio (2.39:1)
+ Fix problem with audio only file restarts in gmtk_media_player gnome-mplayer Issue #634
+ Clean up double setting of media_device in gmtk_media_player
+ Add subtitle step forward and backward commands
+ Basic scrolling wheel patch from Gnome Mplayer Issue #621
+ Don't flush events when querying devices
+ Cleanup GTK depreciated warnings in gmtk_media_tracker
+ Cleanup gtk_widget_get_pointer depreciated warning on GTK 3.4
+ Version the libraries that are built
+ Change error message dialog in thread_reader_error to event that is raised, let the front end handle it
+ add gm_bool_to_string() macro (use like a function returning const gchar*)
+ Clear artist, title and album on media end, prevents wrong cover art lookup
+ Change gmtk_media_player_log_state log level from DEBUG to INFO
+ Move and add gmtk_media_player_log_state status messages around
+ Prevent class cast on possible NULL pointer
+ Emit mplayer_complete_cond anytime we find an error reading from the mplayer thread
+ new function gm_log_name_this_thread(): improves thread logging
+ Fix usage of status in thread_reader_error correctly
+ Clean up the pointer math in gmtk_media_player_log_state
+ Clean up some memory allocations identified by valgrind
+ Print thread number with all debug messages if GM_DEBUG_THREADS is set
+ Change strchr to g_strrstr in gm_log
+ Uppercase constant GMPLS_LEN
+ Define the player_lock mutex
+ Fix a double free at program exit time (removes an occasional segfault)
+ Initialize a struct to 0 to remove "branch depends on uninitialized memory" error
+ Fix "pointer to object on stack passed out of function" bug.
+ Add a function attribute, so calls to gm_log() are checked for printf format string errors
+ Hook gm_log functions into the remainder of the sources
+ Hook functions from gm_log into the main gmtk_media_player class, add log_state method
+ Make gm_log.c/,h compatible with indent
+ Fix compile error in gm_log
+ Adjust formatting in gm_log files to match up with rest of project
+ Add in gm_log from Hans Ecke
+ Return a NULL instead of a "" string for metadata
+ Apply patch from Issue #9 to fix some cppcheck warnings
+ Fix a couple of keyboard shortcuts as they were in the wrong shift state, similar to gnome-mplayer fix
+ Initialize some media metadata
+ Change some minor video initialization setup steps
+ Implement getting ATTRIBUTE_SPEED_SET
+ Fix problem with removal of read metadata and replacing it with filename info
+ Fix compiler warning detected by clang
+ Monitor sub visiblity better gnome-mplayer Issue #615
+ Protect against possible divide by zero in gmtk_media_player_size_allocate
+ Correct situation where media player window allocation is small or incorrect
+ If mplayer emits a signal at position 0 retry once
+ Fix logic error in ERROR_RETRY
+ Replace g_strncasecmp with g_ascii_strncasecmp
+1.0.6
+ Set black background color for all GTK States on media widget
+ Assign NULL to freed strings
+ Updated Japanese translation
+ Remove debug message
+ Kill GTK widget oversize warning
Apply recommendation from Issue #6
Apply patch from Issue #7, codecs not reset to NULL
- Only do the restart on decoding error if the position is 0 (window size issue)
- Allow one decoding error restart
- Fix error when shifting protocol from mms to mmsh
- Updated Turkish translation
+ Only do the restart on decoding error if the position is 0 (window size issue)
+ Allow one decoding error restart
+ Fix error when shifting protocol from mms to mmsh
+ Updated Turkish translation
1.0.6b1
Track gtk2 and gtk3 in gmtk.pc file
Enhance subtitle visibility tracking
diff --git a/INSTALL b/INSTALL
index 7d1c323..a1e89e1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@ order to use an ANSI C compiler:
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
diff --git a/Makefile.in b/Makefile.in
index 9e1684f..b1d48c0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,6 +16,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -53,11 +70,11 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = gmtk.spec
CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
@@ -68,6 +85,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -89,6 +111,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(gmtkdocdir)"
DATA = $(gmtkdoc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
@@ -103,9 +131,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -134,6 +164,8 @@ am__relativize = \
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
@@ -233,12 +265,15 @@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_VERSION = @LIB_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
+MAJOR_VERSION = @MAJOR_VERSION@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MINOR_VERSION = @MINOR_VERSION@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
@@ -269,6 +304,7 @@ PULSE_CFLAGS = @PULSE_CFLAGS@
PULSE_DEFINES = @PULSE_DEFINES@
PULSE_LIBS = @PULSE_LIBS@
RANLIB = @RANLIB@
+RELEASE_VERSION = @RELEASE_VERSION@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -361,7 +397,7 @@ all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-am--refresh:
+am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
@@ -397,10 +433,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
+ @if test ! -f $@; then rm -f stamp-h1; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -425,8 +459,11 @@ distclean-libtool:
-rm -f libtool config.lt
install-gmtkdocDATA: $(gmtkdoc_DATA)
@$(NORMAL_INSTALL)
- test -z "$(gmtkdocdir)" || $(MKDIR_P) "$(DESTDIR)$(gmtkdocdir)"
@list='$(gmtkdoc_DATA)'; test -n "$(gmtkdocdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(gmtkdocdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(gmtkdocdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -440,9 +477,7 @@ uninstall-gmtkdocDATA:
@$(NORMAL_UNINSTALL)
@list='$(gmtkdoc_DATA)'; test -n "$(gmtkdocdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(gmtkdocdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(gmtkdocdir)" && rm -f $$files
+ dir='$(DESTDIR)$(gmtkdocdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -613,13 +648,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -654,7 +686,11 @@ dist-gzip: distdir
$(am__remove_distdir)
dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__remove_distdir)
dist-lzma: distdir
@@ -662,7 +698,7 @@ dist-lzma: distdir
$(am__remove_distdir)
dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist-tarZ: distdir
@@ -693,6 +729,8 @@ distcheck: dist
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
@@ -702,7 +740,7 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
@@ -712,6 +750,7 @@ distcheck: dist
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -740,8 +779,16 @@ distcheck: dist
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
@@ -775,10 +822,15 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -867,12 +919,12 @@ uninstall-am: uninstall-gmtkdocDATA uninstall-local
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am \
+ dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \
+ dist-xz dist-zip distcheck distclean distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-data install-data-am \
+ install-dvi install-dvi-am install-exec install-exec-am \
install-gmtkdocDATA install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
diff --git a/aclocal.m4 b/aclocal.m4
index 4cd4668..471a157 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -776,12 +777,15 @@ else
fi[]dnl
])# PKG_CHECK_MODULES
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -791,7 +795,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -807,19 +811,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -901,14 +907,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 10
+# serial 12
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -948,6 +954,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -1012,7 +1019,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
@@ -1077,10 +1084,13 @@ AC_DEFUN([AM_DEP_TRACK],
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
@@ -1302,12 +1312,15 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
@@ -1347,8 +1360,8 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1368,7 +1381,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
[disable], [m4_define([am_maintainer_other], [enable])],
[m4_define([am_maintainer_other], [enable])
m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode's default is 'disable' unless 'enable' is passed
AC_ARG_ENABLE([maintainer-mode],
[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
@@ -1479,12 +1492,15 @@ else
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
@@ -1507,13 +1523,14 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -1521,13 +1538,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -1603,13 +1620,13 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
+# serial 2
# AM_SILENT_RULES([DEFAULT])
# --------------------------
@@ -1624,18 +1641,50 @@ yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
+dnl
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using `$V' instead of `$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
@@ -1658,13 +1707,13 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
@@ -1673,13 +1722,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1701,10 +1750,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# a tarball read from stdin.
# $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
diff --git a/config.guess b/config.guess
index dc84c68..d622a44 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2012-02-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2009-11-20'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -56,8 +54,9 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
@@ -223,7 +222,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +268,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,7 +297,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
@@ -394,23 +396,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
@@ -480,8 +482,8 @@ EOF
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -494,7 +496,7 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
@@ -551,7 +553,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -594,52 +596,52 @@ EOF
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -730,22 +732,22 @@ EOF
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
@@ -769,14 +771,14 @@ EOF
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -788,13 +790,12 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
@@ -803,15 +804,18 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
@@ -857,6 +861,13 @@ EOF
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -866,7 +877,7 @@ EOF
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+ esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -878,20 +889,29 @@ EOF
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ fi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
LIBC=gnu
@@ -933,7 +953,7 @@ EOF
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-gnu
@@ -959,7 +979,7 @@ EOF
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -967,14 +987,17 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -983,11 +1006,11 @@ EOF
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
@@ -1019,7 +1042,7 @@ EOF
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
@@ -1047,13 +1070,13 @@ EOF
exit ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
- exit ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
@@ -1088,8 +1111,8 @@ EOF
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
@@ -1132,10 +1155,10 @@ EOF
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel at ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel at ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes at openmarket.com>.
# How about differentiating between stratus architectures? -djm
@@ -1161,11 +1184,11 @@ EOF
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
@@ -1230,6 +1253,9 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
@@ -1275,13 +1301,13 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1299,6 +1325,9 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1321,11 +1350,11 @@ main ()
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
- "4"
+ "4"
#else
- ""
+ ""
#endif
- ); exit (0);
+ ); exit (0);
#endif
#endif
diff --git a/config.sub b/config.sub
index 2a55a50..c894da4 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2012-02-10'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2009-11-20'
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -75,8 +73,9 @@ Report bugs and patches to <config-patches at gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,13 +122,18 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -156,8 +160,8 @@ case $os in
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ -bluegene*)
+ os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
@@ -173,10 +177,10 @@ case $os in
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
@@ -245,17 +249,22 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
+ | epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \
@@ -281,29 +290,39 @@ case $basic_machine in
| moxie \
| mt \
| msp430 \
+ | nds32 | nds32le | nds32be \
| nios | nios2 \
| ns16k | ns32k \
+ | open8 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
- | rx \
+ | rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
- | v850 | v850e \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -313,6 +332,21 @@ case $basic_machine in
basic_machine=mt-unknown
;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@@ -327,21 +361,25 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | be32-* | be64-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -367,25 +405,29 @@ case $basic_machine in
| mmix-* \
| mt-* \
| msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | romp-* | rs6000-* | rx-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
| tron-* \
| ubicom32-* \
- | v850-* | v850e-* | vax-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
@@ -410,7 +452,7 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
@@ -480,11 +522,20 @@ case $basic_machine in
basic_machine=powerpc-ibm
os=-cnk
;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
;;
- cegcc)
+ cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
@@ -516,7 +567,7 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
+ cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
@@ -674,7 +725,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -732,7 +782,7 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze)
basic_machine=microblaze-xilinx
;;
mingw32)
@@ -771,10 +821,18 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
+ msys)
+ basic_machine=i386-pc
+ os=-msys
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
@@ -839,6 +897,12 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -921,9 +985,10 @@ case $basic_machine in
;;
power) basic_machine=power-ibm
;;
- ppc) basic_machine=powerpc-unknown
+ ppc | ppcbe) basic_machine=powerpc-unknown
;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
@@ -1017,6 +1082,9 @@ case $basic_machine in
basic_machine=i860-stratus
os=-sysv4
;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
sun2)
basic_machine=m68000-sun
;;
@@ -1073,20 +1141,8 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
tile*)
- basic_machine=tile-unknown
+ basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
@@ -1156,6 +1212,9 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
ymp)
basic_machine=ymp-cray
os=-unicos
@@ -1253,11 +1312,11 @@ esac
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ -auroraux)
+ os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1293,8 +1352,9 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1341,7 +1401,7 @@ case $os in
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
@@ -1390,7 +1450,7 @@ case $os in
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
@@ -1435,6 +1495,8 @@ case $os in
-dicos*)
os=-dicos
;;
+ -nacl*)
+ ;;
-none)
;;
*)
@@ -1457,10 +1519,10 @@ else
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
@@ -1472,8 +1534,17 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1493,14 +1564,11 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
@@ -1527,7 +1595,7 @@ case $basic_machine in
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
diff --git a/configure b/configure
index 38c7952..1bb6553 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for gmtk 1.0.6.
+# Generated by GNU Autoconf 2.68 for gmtk 1.0.7.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -567,8 +567,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gmtk'
PACKAGE_TARNAME='gmtk'
-PACKAGE_VERSION='1.0.6'
-PACKAGE_STRING='gmtk 1.0.6'
+PACKAGE_VERSION='1.0.7'
+PACKAGE_STRING='gmtk 1.0.7'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -749,9 +749,14 @@ GREP
CPP
ALL_LINGUAS
GETTEXT_PACKAGE
+LIB_VERSION
+RELEASE_VERSION
+MINOR_VERSION
+MAJOR_VERSION
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
+am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
@@ -793,6 +798,8 @@ INSTALL_SCRIPT
INSTALL_PROGRAM
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
target_alias
host_alias
build_alias
@@ -1445,7 +1452,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gmtk 1.0.6 to adapt to many kinds of systems.
+\`configure' configures gmtk 1.0.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1515,7 +1522,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gmtk 1.0.6:";;
+ short | recursive ) echo "Configuration of gmtk 1.0.7:";;
esac
cat <<\_ACEOF
@@ -1547,7 +1554,7 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot=DIR Search for dependent libraries within DIR
@@ -1697,7 +1704,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gmtk configure 1.0.6
+gmtk configure 1.0.7
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2062,7 +2069,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gmtk $as_me 1.0.6, which was
+It was created by gmtk $as_me 1.0.7, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2420,6 +2427,33 @@ yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=0;;
esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
AM_BACKSLASH='\'
@@ -2890,7 +2924,7 @@ fi
# Define the identity of the package.
PACKAGE=gmtk
- VERSION=1.0.6
+ VERSION=1.0.7
cat >>confdefs.h <<_ACEOF
@@ -2920,11 +2954,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
@@ -2933,8 +2967,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
ac_config_headers="$ac_config_headers config.h"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to disable maintainer-specific portions of Makefiles... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
@@ -3797,6 +3831,7 @@ fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
@@ -3821,6 +3856,7 @@ else
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -3880,7 +3916,7 @@ else
break
fi
;;
- msvisualcpp | msvcmsys)
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok `-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
@@ -3938,6 +3974,15 @@ fi
+MAJOR_VERSION=1
+MINOR_VERSION=0
+RELEASE_VERSION=7
+
+
+
+
+LIB_VERSION=$MAJOR_VERSION:$MINOR_VERSION:$RELEASE_VERSION
+
GETTEXT_PACKAGE=gmtk
@@ -5670,8 +5715,8 @@ esac
-macro_version='2.4'
-macro_revision='1.3293'
+macro_version='2.4.2'
+macro_revision='1.3337'
@@ -6386,6 +6431,11 @@ else
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -6425,7 +6475,7 @@ else
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
@@ -6854,7 +6904,7 @@ irix5* | irix6* | nonstopux*)
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -7494,13 +7544,13 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
@@ -7647,6 +7697,7 @@ for ac_symprfx in "" "_"; do
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -8035,7 +8086,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
CFLAGS="$SAVE_CFLAGS"
fi
;;
-sparc*-*solaris*)
+*-*solaris*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -8046,7 +8097,20 @@ sparc*-*solaris*)
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
@@ -8686,7 +8750,13 @@ else
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
@@ -8697,6 +8767,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
if ${lt_cv_ld_exported_symbols_list+:} false; then :
@@ -8729,6 +8800,7 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
$as_echo_n "checking for -force_load linker flag... " >&6; }
if ${lt_cv_ld_force_load+:} false; then :
@@ -8750,7 +8822,9 @@ _LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
@@ -8888,7 +8962,22 @@ fi
# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
pic_mode=default
fi
@@ -8966,6 +9055,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
test -z "$LN_S" && LN_S="ln -s"
@@ -9425,7 +9518,9 @@ lt_prog_compiler_static=
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
;;
esac
else
@@ -9516,18 +9611,33 @@ lt_prog_compiler_static=
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl=''
;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl='-Wl,'
;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
esac
;;
esac
@@ -9889,7 +9999,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
hardcode_direct=no
hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
@@ -10139,8 +10248,7 @@ _LT_EOF
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
@@ -10519,6 +10627,7 @@ fi
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
@@ -10564,6 +10673,7 @@ fi
hardcode_shlibpath_var=unsupported
if test "$lt_cv_ld_force_load" = "yes"; then
whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
else
whole_archive_flag_spec=''
fi
@@ -10592,10 +10702,6 @@ fi
hardcode_shlibpath_var=no
;;
- freebsd1*)
- ld_shlibs=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@@ -10608,7 +10714,7 @@ fi
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -10647,7 +10753,6 @@ fi
fi
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
@@ -11271,11 +11376,6 @@ esac
-
-
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
@@ -11365,7 +11465,7 @@ need_version=unknown
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -11374,7 +11474,7 @@ aix3*)
;;
aix[4-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -11439,7 +11539,7 @@ beos*)
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -11578,7 +11678,7 @@ darwin* | rhapsody*)
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -11586,10 +11686,6 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -11597,7 +11693,7 @@ freebsd* | dragonfly*)
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[123]*) objformat=aout ;;
+ freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -11615,7 +11711,7 @@ freebsd* | dragonfly*)
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
@@ -11635,17 +11731,18 @@ freebsd* | dragonfly*)
;;
gnu*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
haiku*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
@@ -11706,7 +11803,7 @@ hpux9* | hpux10* | hpux11*)
;;
interix[3-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -11722,7 +11819,7 @@ irix5* | irix6* | nonstopux*)
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
@@ -11759,9 +11856,9 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11847,7 +11944,7 @@ netbsd*)
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -11916,7 +12013,7 @@ rdos*)
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -11941,7 +12038,7 @@ sunos4*)
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -11965,7 +12062,7 @@ sysv4 | sysv4.3*)
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -11996,7 +12093,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -12006,7 +12103,7 @@ tpf*)
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -12788,6 +12885,8 @@ CC="$lt_save_CC"
+
+
ac_config_commands="$ac_config_commands libtool"
@@ -15823,7 +15922,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gmtk $as_me 1.0.6, which was
+This file was extended by gmtk $as_me 1.0.7, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15889,7 +15988,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gmtk config.status 1.0.6
+gmtk config.status 1.0.7
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@@ -16027,6 +16126,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -16109,7 +16209,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
@@ -16165,6 +16264,7 @@ _LTECHO_EOF'
# Quote evaled strings.
for var in SHELL \
ECHO \
+PATH_SEPARATOR \
SED \
GREP \
EGREP \
@@ -16215,7 +16315,6 @@ with_gnu_ld \
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
exclude_expsyms \
include_expsyms \
@@ -17021,8 +17120,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
@@ -17076,6 +17175,9 @@ SHELL=$lt_SHELL
# An echo program that protects backslashes.
ECHO=$lt_ECHO
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
# The host system.
host_alias=$host_alias
host=$host
@@ -17377,10 +17479,6 @@ no_undefined_flag=$lt_no_undefined_flag
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
diff --git a/configure.ac b/configure.ac
index a3acf8f..0304641 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
dnl Created by Anjuta application wizard.
-AC_INIT(gmtk, 1.0.6)
+
+AC_INIT(gmtk, 1.0.7)
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
@@ -12,6 +13,15 @@ AC_PROG_CC
AC_CONFIG_MACRO_DIR([m4])
+MAJOR_VERSION=1
+MINOR_VERSION=0
+RELEASE_VERSION=7
+AC_SUBST(MAJOR_VERSION)
+AC_SUBST(MINOR_VERSION)
+AC_SUBST(RELEASE_VERSION)
+
+LIB_VERSION=$MAJOR_VERSION:$MINOR_VERSION:$RELEASE_VERSION
+AC_SUBST(LIB_VERSION)
dnl ***************************************************************************
dnl Internatinalization
diff --git a/depcomp b/depcomp
index df8eea7..25a39e6 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-03-27.16; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ scriptversion=2009-04-28.21; # UTC
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
@@ -40,11 +40,11 @@ as side-effects.
Environment variables:
depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
+ tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake at gnu.org>.
@@ -57,6 +57,12 @@ EOF
;;
esac
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
@@ -90,10 +96,24 @@ if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
+ cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -148,20 +168,21 @@ gcc)
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
+ tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
-## well.
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -193,18 +214,15 @@ sgi)
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
+ # the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
+ tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> "$depfile"
+ tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
+ tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
@@ -216,10 +234,17 @@ sgi)
rm -f "$tmpdepfile"
;;
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
+ # current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -249,12 +274,11 @@ aix)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
+ # Each line is of the form 'foo.o: dependent.h'.
# Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
+ # '$object: dependent.h' and one to simply 'dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -265,23 +289,26 @@ aix)
;;
icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+ # However on
+ # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
- # which is wrong. We want:
+ # which is wrong. We want
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
+ # and will wrap long lines using '\':
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
-
+ # tcc 0.9.26 (FIXME still under development at the moment of writing)
+ # will emit a similar output, but also prepend the continuation lines
+ # with horizontal tabulation characters.
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
@@ -290,15 +317,21 @@ icc)
exit $stat
fi
rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Each line is of the form 'foo.o: dependent.h',
+ # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
# Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
+ # '$object: dependent.h' and one to simply 'dependent.h:'.
+ sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
+ < "$tmpdepfile" > "$depfile"
+ sed '
+ s/[ '"$tab"'][ '"$tab"']*/ /g
+ s/^ *//
+ s/ *\\*$//
+ s/^[^:]*: *//
+ /^$/d
+ /:$/d
+ s/$/ :/
+ ' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -334,7 +367,7 @@ hp2)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
+ # Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
@@ -349,9 +382,9 @@ hp2)
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
+ # dependencies in 'foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
@@ -397,14 +430,59 @@ tru64)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test "$stat" = 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
@@ -422,7 +500,7 @@ dashmstdout)
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -442,15 +520,14 @@ dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
+ # Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
+ tr ' ' "$nl" < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -503,9 +580,10 @@ makedepend)
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -525,7 +603,7 @@ cpp)
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -594,8 +672,8 @@ msvisualcpp)
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
diff --git a/gmtk.spec b/gmtk.spec
index 5d5c4a4..b39f93f 100644
--- a/gmtk.spec
+++ b/gmtk.spec
@@ -1,5 +1,5 @@
Name: gmtk
-Version: 1.0.6
+Version: 1.0.7
Release: 1%{?dist}
Summary: Library of common functions and widgets for gnome-mplayer and gecko-mediaplayer
diff --git a/install-sh b/install-sh
index 6781b98..a9244eb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-01-19.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
@@ -200,7 +208,11 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@ fi
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for `test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -385,7 +392,7 @@ do
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
@@ -403,7 +410,7 @@ do
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
diff --git a/ltmain.sh b/ltmain.sh
old mode 100755
new mode 100644
index aa5624c..63ae69d
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,9 @@
-# libtool (GNU libtool) 2.4
+# libtool (GNU libtool) 2.4.2
# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -41,6 +41,7 @@
# --quiet, --silent don't print informational messages
# --no-quiet, --no-silent
# print informational messages (default)
+# --no-warn don't display warning messages
# --tag=TAG use configuration variables from tag TAG
# -v, --verbose print more informational messages than default
# --no-verbose don't print the extra informational messages
@@ -69,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4
+# $progname: (GNU libtool) 2.4.2
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -79,9 +80,9 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.4
+VERSION=2.4.2
TIMESTAMP=""
-package_revision=1.3293
+package_revision=1.3337
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -136,15 +137,10 @@ progpath="$0"
: ${CP="cp -f"}
test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
-: ${SED="/bin/sed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}
@@ -387,7 +383,7 @@ case $progpath in
;;
*)
save_IFS="$IFS"
- IFS=:
+ IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
IFS="$save_IFS"
test -x "$progdir/$progname" && break
@@ -771,8 +767,8 @@ func_help ()
s*\$LTCFLAGS*'"$LTCFLAGS"'*
s*\$LD*'"$LD"'*
s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
p
d
}
@@ -1052,6 +1048,7 @@ opt_finish=false
opt_help=false
opt_help_all=false
opt_silent=:
+opt_warning=:
opt_verbose=:
opt_silent=false
opt_verbose=false
@@ -1120,6 +1117,10 @@ esac
opt_silent=false
func_append preserve_args " $opt"
;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
--no-verbose)
opt_verbose=false
func_append preserve_args " $opt"
@@ -2059,7 +2060,7 @@ func_mode_compile ()
*.[cCFSifmso] | \
*.ada | *.adb | *.ads | *.asm | \
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
- *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
func_xform "$libobj"
libobj=$func_xform_result
;;
@@ -3201,11 +3202,13 @@ func_mode_install ()
# Set up the ranlib parameters.
oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $oldlib" 'exit $?'
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
fi
# Do each command in the postinstall commands.
@@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() {
# linked before any other PIC object. But we must not use
# pic_flag when linking with -static. The problem exists in
# FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
@@ -3982,14 +3985,17 @@ func_exec_program_core ()
# launches target application with the remaining arguments.
func_exec_program ()
{
- for lt_wr_arg
- do
- case \$lt_wr_arg in
- --lt-*) ;;
- *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
- esac
- shift
- done
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
func_exec_program_core \${1+\"\$@\"}
}
@@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f)
{
EOF
func_emit_wrapper yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
-
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
cat <<"EOF"
}
EOF
@@ -5643,7 +5655,8 @@ func_mode_link ()
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
@@ -6147,7 +6160,8 @@ func_mode_link ()
lib=
found=no
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
@@ -6831,7 +6845,7 @@ func_mode_link ()
test "$hardcode_direct_absolute" = no; then
add="$dir/$linklib"
elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
+ add_dir="-L$absdir"
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -7316,6 +7330,7 @@ func_mode_link ()
# which has an extra 1 added just for fun
#
case $version_type in
+ # correct linux to gnu/linux during the next big refactor
darwin|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
@@ -7432,7 +7447,7 @@ func_mode_link ()
versuffix="$major.$revision"
;;
- linux)
+ linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
versuffix="$major.$age.$revision"
@@ -8020,6 +8035,11 @@ EOF
# Test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
if test "$hardcode_into_libs" = yes; then
# Hardcode the library paths
hardcode_libdirs=
@@ -8050,7 +8070,7 @@ EOF
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) func_apped perm_rpath " $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
done
@@ -8058,11 +8078,7 @@ EOF
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
@@ -9152,6 +9168,8 @@ EOF
esac
done
fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
func_len " $cmds"
@@ -9261,7 +9279,8 @@ EOF
*.la)
func_basename "$deplib"
name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
func_fatal_error "\`$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 88de383..56666f0 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,8 +1,8 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
m4_define([_LT_COPYING], [dnl
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
@@ -146,6 +146,8 @@ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
@@ -637,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
@@ -801,6 +803,7 @@ AC_DEFUN([LT_LANG],
m4_case([$1],
[C], [_LT_LANG(C)],
[C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
[Java], [_LT_LANG(GCJ)],
[Fortran 77], [_LT_LANG(F77)],
[Fortran], [_LT_LANG(FC)],
@@ -822,6 +825,31 @@ m4_defun([_LT_LANG],
])# _LT_LANG
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
# _LT_LANG_DEFAULT_CONFIG
# -----------------------
m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
m4_ifdef([LT_PROG_GCJ],
[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
AC_PROVIDE_IFELSE([LT_PROG_RC],
[LT_LANG(RC)],
[m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
rm -rf libconftest.dylib*
rm -f conftest.*
fi])
+
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS="$save_LDFLAGS"
])
+
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
[lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@ _LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@ _LT_EOF
])
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
# Checks for linker and compiler features on darwin
m4_defun([_LT_DARWIN_LINKER_FEATURES],
[
@@ -1047,6 +1089,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
if test "$lt_cv_ld_force_load" = "yes"; then
_LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
@@ -1330,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
CFLAGS="$SAVE_CFLAGS"
fi
;;
-sparc*-*solaris*)
+*-*solaris*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
@@ -1414,13 +1471,13 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
@@ -1600,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1639,7 +1701,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
@@ -2185,7 +2247,7 @@ need_version=unknown
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -2194,7 +2256,7 @@ aix3*)
;;
aix[[4-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -2259,7 +2321,7 @@ beos*)
;;
bsdi[[45]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -2398,7 +2460,7 @@ m4_if([$1], [],[
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2406,10 +2468,6 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -2417,7 +2475,7 @@ freebsd* | dragonfly*)
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[[123]]*) objformat=aout ;;
+ freebsd[[23]].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -2435,7 +2493,7 @@ freebsd* | dragonfly*)
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2455,17 +2513,18 @@ freebsd* | dragonfly*)
;;
gnu*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
haiku*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
@@ -2526,7 +2585,7 @@ hpux9* | hpux10* | hpux11*)
;;
interix[[3-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2542,7 +2601,7 @@ irix5* | irix6* | nonstopux*)
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
@@ -2579,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2648,7 +2707,7 @@ netbsd*)
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -2717,7 +2776,7 @@ rdos*)
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2742,7 +2801,7 @@ sunos4*)
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2766,7 +2825,7 @@ sysv4 | sysv4.3*)
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2797,7 +2856,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2807,7 +2866,7 @@ tpf*)
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -3229,7 +3288,7 @@ irix5* | irix6* | nonstopux*)
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
+# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3649,6 +3708,7 @@ for ac_symprfx in "" "_"; do
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -4233,7 +4293,9 @@ m4_if([$1], [CXX], [
case $cc_basename in
nvcc*) # Cuda Compiler Driver 2.2
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
;;
esac
else
@@ -4325,18 +4387,33 @@ m4_if([$1], [CXX], [
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
esac
;;
esac
@@ -4496,7 +4573,9 @@ m4_if([$1], [CXX], [
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*) ;;
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@@ -4521,7 +4600,6 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4772,8 +4850,7 @@ _LT_EOF
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
@@ -5068,6 +5145,7 @@ _LT_EOF
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
@@ -5114,10 +5192,6 @@ _LT_EOF
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@@ -5130,7 +5204,7 @@ _LT_EOF
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5169,7 +5243,6 @@ _LT_EOF
fi
if test "$with_gnu_ld" = no; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -5611,9 +5684,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1],
_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
[Flag to hardcode $libdir into a binary during linking.
This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
@@ -5771,7 +5841,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -6141,7 +6210,7 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
;;
- freebsd[[12]]*)
+ freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -6902,12 +6971,18 @@ public class foo {
}
};
_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
])
_lt_libdeps_save_CFLAGS=$CFLAGS
case "$CC $CFLAGS " in #(
*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
esac
dnl Parse the compiler output and extract the necessary
@@ -7104,7 +7179,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7237,7 +7311,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
@@ -7424,6 +7497,77 @@ CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_GCJ_CONFIG
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
# _LT_LANG_RC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
@@ -7493,6 +7637,13 @@ dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
# LT_PROG_RC
# ----------
AC_DEFUN([LT_PROG_RC],
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 17cfd51..5d9acd8 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
[pic_mode=default])
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 9c7b5d4..07a8602 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 3293 ltversion.m4
+# serial 3337 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
+[macro_version='2.4.2'
+macro_revision='1.3337'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/missing b/missing
index 28055d2..86a8fc3 100755
--- a/missing
+++ b/missing
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.13; # UTC
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,6 @@ Supported PROGRAM values:
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -122,15 +121,6 @@ case $1 in
# Not GNU programs, they don't have --version.
;;
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
@@ -226,7 +216,7 @@ WARNING: \`$1' $msg. You should only need it if
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -256,7 +246,7 @@ WARNING: \`$1' is $msg. You should only need it if
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -318,41 +308,6 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file
;;
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
diff --git a/po/pl.po b/po/pl.po
index 569499b..37d6a55 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3,13 +3,13 @@
# Copyright (C) 2007 THE gmtk'S COPYRIGHT HOLDER
# This file is distributed under the same license as the gmtk package.
#
-# Julian Sikorski <belegdol at gmail.com>, 2007, 2008, 2009, 2010, 2011.
+# Julian Sikorski <belegdol at gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-08 06:47-0700\n"
-"PO-Revision-Date: 2011-11-08 20:14+0100\n"
+"POT-Creation-Date: 2012-09-22 10:56+0200\n"
+"PO-Revision-Date: 2012-09-22 10:58+0200\n"
"Last-Translator: Julian Sikorski <belegdol at gmail.com>\n"
"Language-Team: Polish <kde-i18n-doc at kde.org>\n"
"Language: pl\n"
@@ -19,82 +19,78 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2011-06-09 16:08+0000\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.4\n"
-#: ../src/gm_audio.c:78 ../src/gm_audio.c:252
-#: ../src/gmtk_output_combo_box.c:148
+#: ../src/gm_audio.c:80 ../src/gm_audio.c:266
+#: ../src/gmtk_output_combo_box.c:150
msgid "Default"
msgstr "Domyślny"
-#: ../src/gmtk_media_player.c:554 ../src/gmtk_media_player.c:891
+#: ../src/gmtk_media_player.c:688 ../src/gmtk_media_player.c:1062
msgid "Frame Dropping"
msgstr "Opuszczanie klatek"
-#: ../src/gmtk_media_player.c:568
+#: ../src/gmtk_media_player.c:702
msgid "Deinterlace"
msgstr "Usuwanie przeplotu"
-#: ../src/gmtk_media_player.c:791
+#: ../src/gmtk_media_player.c:952
msgid "Loading..."
msgstr "Wczytywanie..."
-#: ../src/gmtk_media_player.c:918
+#: ../src/gmtk_media_player.c:1090
msgid "Subtitles Visible"
msgstr "Napisy widoczne"
-#: ../src/gmtk_media_player.c:921
+#: ../src/gmtk_media_player.c:1093
msgid "Subtitles Hidden"
msgstr "Napisy ukryte"
-#: ../src/gmtk_media_player.c:2671
+#: ../src/gmtk_media_player.c:2981
#, c-format
msgid "Failed to open %s"
msgstr "Nie udało się otworzyć „%s”"
-#: ../src/gmtk_media_player.c:2708
+#: ../src/gmtk_media_player.c:3023
msgid "Compressed SWF format not supported"
msgstr "Skompresowany format SWF nieobsługiwany"
-#: ../src/gmtk_media_player.c:2736
-msgid "GNOME MPlayer Error"
-msgstr "Błąd GNOME MPlayer"
-
-#: ../src/gmtk_media_player.c:2799
+#: ../src/gmtk_media_player.c:3128
#, c-format
msgid "Cache fill: %2.2f%%"
msgstr "Zapełnienie bufora: %2.2f%%"
-#: ../src/gmtk_media_player.c:2945 ../src/gmtk_media_player.c:2946
-#: ../src/gmtk_media_player.c:2995 ../src/gmtk_media_player.c:3027
-#: ../src/gmtk_media_player.c:3028 ../src/gmtk_media_player.c:3060
-#: ../src/gmtk_media_player.c:3092
+#: ../src/gmtk_media_player.c:3294 ../src/gmtk_media_player.c:3295
+#: ../src/gmtk_media_player.c:3344 ../src/gmtk_media_player.c:3376
+#: ../src/gmtk_media_player.c:3377 ../src/gmtk_media_player.c:3409
+#: ../src/gmtk_media_player.c:3441
msgid "Unknown"
msgstr "Nieznany"
-#: ../src/gmtk_media_player.c:3006
+#: ../src/gmtk_media_player.c:3355
#, c-format
msgid "External Subtitle #%i"
msgstr "Napisy zewnętrzne #%i"
-#: ../src/gmtk_media_player.c:3199
+#: ../src/gmtk_media_player.c:3548
#, c-format
msgid "Screenshot saved to '%s'"
msgstr "Obraz ekranu zapisano do pliku „%s”"
-#: ../src/gmtk_media_player.c:3202 ../src/gmtk_media_player.c:3298
+#: ../src/gmtk_media_player.c:3551 ../src/gmtk_media_player.c:3652
msgid "GNOME MPlayer Notification"
msgstr "Powiadomienie"
-#: ../src/gmtk_media_player.c:3295
+#: ../src/gmtk_media_player.c:3649
msgid "MPlayer should be Upgraded to a Newer Version"
msgstr "MPlayer powinien zostać zaktualizowany do nowszej wersji"
-#: ../src/gmtk_media_player.c:3541
-msgid "You might want to consider upgrading mplayer to a newer version\n"
-msgstr "Proszę rozważyć aktualizację do nowszej wersji mplayera\n"
+#: ../src/gmtk_media_player.c:3912
+msgid "You might want to consider upgrading mplayer to a newer version"
+msgstr "Proszę rozważyć aktualizację mplayera do nowszej wersji"
-#: ../src/gmtk_media_tracker.c:97 ../src/gmtk_media_tracker.c:101
-#: ../src/gmtk_media_tracker.c:208
+#: ../src/gmtk_media_tracker.c:102 ../src/gmtk_media_tracker.c:106
+#: ../src/gmtk_media_tracker.c:216
msgid "No Information"
msgstr "Brak informacji"
@@ -102,3 +98,5 @@ msgstr "Brak informacji"
msgid "No Data"
msgstr "Brak danych"
+#~ msgid "GNOME MPlayer Error"
+#~ msgstr "Błąd GNOME MPlayer"
diff --git a/src/Makefile.am b/src/Makefile.am
index 7e369de..d07c679 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -24,14 +24,18 @@ libgmtk_la_SOURCES = \
gmtk_media_tracker.c \
gmtk_media_tracker.h \
gmtk_output_combo_box.c \
- gmtk_output_combo_box.h
+ gmtk_output_combo_box.h \
+ libgmlib.la
libgmtk_la_CFLAGS = -fPIC \
$(GTK_CFLAGS) \
$(ALSA_CFLAGS) \
$(PULSE_CFLAGS)
-libgmtk_la_LDFLAGS = -L.libs
+libgmtk_la_LDFLAGS = -L.libs \
+ -version-number $(LIB_VERSION) \
+ -no-undefined \
+ $(AM_LDFLAGS)
libgmtk_la_LIBADD = \
-lgmlib \
@@ -48,6 +52,8 @@ libgmlib_la_SOURCES = \
gm_audio.h \
gm_file.c \
gm_file.h \
+ gm_log.c \
+ gm_log.h \
gm_parse.c \
gm_parse.h \
gm_pref_store.c \
@@ -65,7 +71,10 @@ libgmlib_la_CFLAGS = -fPIC \
$(ALSA_CFLAGS) \
$(PULSE_CFLAGS)
-libgmlib_la_LDFLAGS =
+libgmlib_la_LDFLAGS = \
+ -version-number $(LIB_VERSION) \
+ -no-undefined \
+ $(AM_LDFLAGS)
libgmlib_la_LIBADD = \
$(LIBS) \
@@ -78,10 +87,11 @@ libgmlib_la_LIBADD = \
includedir = $(prefix)/include/gmtk
include_HEADERS = \
- gm_common.h \
+ gmlib.h \
+ gm_common.h \
gm_audio.h \
gm_file.h \
- gmlib.h \
+ gm_log.h \
gm_parse.h \
gm_pref_store.h \
gm_strfuncs.h \
diff --git a/src/Makefile.in b/src/Makefile.in
index ca694da..8e6da35 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,6 +18,23 @@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -72,6 +89,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -81,11 +104,11 @@ libgmlib_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgmlib_la_OBJECTS = libgmlib_la-gm_common.lo \
libgmlib_la-gm_audio.lo libgmlib_la-gm_file.lo \
- libgmlib_la-gm_parse.lo libgmlib_la-gm_pref_store.lo \
- libgmlib_la-gm_strfuncs.lo
+ libgmlib_la-gm_log.lo libgmlib_la-gm_parse.lo \
+ libgmlib_la-gm_pref_store.lo libgmlib_la-gm_strfuncs.lo
libgmlib_la_OBJECTS = $(am_libgmlib_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
am__v_lt_0 = --silent
libgmlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libgmlib_la_CFLAGS) \
@@ -110,24 +133,29 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libgmlib_la_SOURCES) $(libgmtk_la_SOURCES)
DIST_SOURCES = $(libgmlib_la_SOURCES) $(libgmtk_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DATA = $(pkgconfig_DATA)
HEADERS = $(include_HEADERS)
ETAGS = etags
@@ -231,12 +259,15 @@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_VERSION = @LIB_VERSION@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
+MAJOR_VERSION = @MAJOR_VERSION@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MINOR_VERSION = @MINOR_VERSION@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
@@ -267,6 +298,7 @@ PULSE_CFLAGS = @PULSE_CFLAGS@
PULSE_DEFINES = @PULSE_DEFINES@
PULSE_LIBS = @PULSE_LIBS@
RANLIB = @RANLIB@
+RELEASE_VERSION = @RELEASE_VERSION@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -352,14 +384,19 @@ libgmtk_la_SOURCES = \
gmtk_media_tracker.c \
gmtk_media_tracker.h \
gmtk_output_combo_box.c \
- gmtk_output_combo_box.h
+ gmtk_output_combo_box.h \
+ libgmlib.la
libgmtk_la_CFLAGS = -fPIC \
$(GTK_CFLAGS) \
$(ALSA_CFLAGS) \
$(PULSE_CFLAGS)
-libgmtk_la_LDFLAGS = -L.libs
+libgmtk_la_LDFLAGS = -L.libs \
+ -version-number $(LIB_VERSION) \
+ -no-undefined \
+ $(AM_LDFLAGS)
+
libgmtk_la_LIBADD = \
-lgmlib \
$(GTK_LIBS) \
@@ -374,6 +411,8 @@ libgmlib_la_SOURCES = \
gm_audio.h \
gm_file.c \
gm_file.h \
+ gm_log.c \
+ gm_log.h \
gm_parse.c \
gm_parse.h \
gm_pref_store.c \
@@ -391,7 +430,11 @@ libgmlib_la_CFLAGS = -fPIC \
$(ALSA_CFLAGS) \
$(PULSE_CFLAGS)
-libgmlib_la_LDFLAGS =
+libgmlib_la_LDFLAGS = \
+ -version-number $(LIB_VERSION) \
+ -no-undefined \
+ $(AM_LDFLAGS)
+
libgmlib_la_LIBADD = \
$(LIBS) \
$(GLIB_LIBS) \
@@ -401,10 +444,11 @@ libgmlib_la_LIBADD = \
$(PULSE_LIBS)
include_HEADERS = \
- gm_common.h \
+ gmlib.h \
+ gm_common.h \
gm_audio.h \
gm_file.h \
- gmlib.h \
+ gm_log.h \
gm_parse.h \
gm_pref_store.h \
gm_strfuncs.h \
@@ -461,7 +505,6 @@ gmlib.pc: $(top_builddir)/config.status $(srcdir)/gmlib.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -469,6 +512,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
@@ -490,9 +535,9 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libgmlib.la: $(libgmlib_la_OBJECTS) $(libgmlib_la_DEPENDENCIES)
+libgmlib.la: $(libgmlib_la_OBJECTS) $(libgmlib_la_DEPENDENCIES) $(EXTRA_libgmlib_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgmlib_la_LINK) -rpath $(libdir) $(libgmlib_la_OBJECTS) $(libgmlib_la_LIBADD) $(LIBS)
-libgmtk.la: $(libgmtk_la_OBJECTS) $(libgmtk_la_DEPENDENCIES)
+libgmtk.la: $(libgmtk_la_OBJECTS) $(libgmtk_la_DEPENDENCIES) $(EXTRA_libgmtk_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgmtk_la_LINK) -rpath $(libdir) $(libgmtk_la_OBJECTS) $(libgmtk_la_LIBADD) $(LIBS)
mostlyclean-compile:
@@ -504,6 +549,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_audio.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_common.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_file.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_log.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_parse.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_pref_store.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libgmlib_la-gm_strfuncs.Plo at am__quote@
@@ -516,114 +562,107 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
libgmlib_la-gm_common.lo: gm_common.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_common.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_common.Tpo -c -o libgmlib_la-gm_common.lo `test -f 'gm_common.c' || echo '$(srcdir)/'`gm_common.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_common.Tpo $(DEPDIR)/libgmlib_la-gm_common.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_common.c' object='libgmlib_la-gm_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_common.c' object='libgmlib_la-gm_common.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_common.lo `test -f 'gm_common.c' || echo '$(srcdir)/'`gm_common.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_common.lo `test -f 'gm_common.c' || echo '$(srcdir)/'`gm_common.c
libgmlib_la-gm_audio.lo: gm_audio.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_audio.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_audio.Tpo -c -o libgmlib_la-gm_audio.lo `test -f 'gm_audio.c' || echo '$(srcdir)/'`gm_audio.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_audio.Tpo $(DEPDIR)/libgmlib_la-gm_audio.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_audio.c' object='libgmlib_la-gm_audio.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_audio.c' object='libgmlib_la-gm_audio.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_audio.lo `test -f 'gm_audio.c' || echo '$(srcdir)/'`gm_audio.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_audio.lo `test -f 'gm_audio.c' || echo '$(srcdir)/'`gm_audio.c
libgmlib_la-gm_file.lo: gm_file.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_file.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_file.Tpo -c -o libgmlib_la-gm_file.lo `test -f 'gm_file.c' || echo '$(srcdir)/'`gm_file.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_file.Tpo $(DEPDIR)/libgmlib_la-gm_file.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_file.c' object='libgmlib_la-gm_file.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_file.c' object='libgmlib_la-gm_file.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_file.lo `test -f 'gm_file.c' || echo '$(srcdir)/'`gm_file.c
+
+libgmlib_la-gm_log.lo: gm_log.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_log.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_log.Tpo -c -o libgmlib_la-gm_log.lo `test -f 'gm_log.c' || echo '$(srcdir)/'`gm_log.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_log.Tpo $(DEPDIR)/libgmlib_la-gm_log.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_log.c' object='libgmlib_la-gm_log.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_file.lo `test -f 'gm_file.c' || echo '$(srcdir)/'`gm_file.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_log.lo `test -f 'gm_log.c' || echo '$(srcdir)/'`gm_log.c
libgmlib_la-gm_parse.lo: gm_parse.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_parse.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_parse.Tpo -c -o libgmlib_la-gm_parse.lo `test -f 'gm_parse.c' || echo '$(srcdir)/'`gm_parse.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_parse.Tpo $(DEPDIR)/libgmlib_la-gm_parse.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_parse.c' object='libgmlib_la-gm_parse.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_parse.c' object='libgmlib_la-gm_parse.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_parse.lo `test -f 'gm_parse.c' || echo '$(srcdir)/'`gm_parse.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_parse.lo `test -f 'gm_parse.c' || echo '$(srcdir)/'`gm_parse.c
libgmlib_la-gm_pref_store.lo: gm_pref_store.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_pref_store.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_pref_store.Tpo -c -o libgmlib_la-gm_pref_store.lo `test -f 'gm_pref_store.c' || echo '$(srcdir)/'`gm_pref_store.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_pref_store.Tpo $(DEPDIR)/libgmlib_la-gm_pref_store.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_pref_store.c' object='libgmlib_la-gm_pref_store.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_pref_store.c' object='libgmlib_la-gm_pref_store.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_pref_store.lo `test -f 'gm_pref_store.c' || echo '$(srcdir)/'`gm_pref_store.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_pref_store.lo `test -f 'gm_pref_store.c' || echo '$(srcdir)/'`gm_pref_store.c
libgmlib_la-gm_strfuncs.lo: gm_strfuncs.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -MT libgmlib_la-gm_strfuncs.lo -MD -MP -MF $(DEPDIR)/libgmlib_la-gm_strfuncs.Tpo -c -o libgmlib_la-gm_strfuncs.lo `test -f 'gm_strfuncs.c' || echo '$(srcdir)/'`gm_strfuncs.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmlib_la-gm_strfuncs.Tpo $(DEPDIR)/libgmlib_la-gm_strfuncs.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gm_strfuncs.c' object='libgmlib_la-gm_strfuncs.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gm_strfuncs.c' object='libgmlib_la-gm_strfuncs.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_strfuncs.lo `test -f 'gm_strfuncs.c' || echo '$(srcdir)/'`gm_strfuncs.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmlib_la_CFLAGS) $(CFLAGS) -c -o libgmlib_la-gm_strfuncs.lo `test -f 'gm_strfuncs.c' || echo '$(srcdir)/'`gm_strfuncs.c
libgmtk_la-gmtk_common.lo: gmtk_common.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -MT libgmtk_la-gmtk_common.lo -MD -MP -MF $(DEPDIR)/libgmtk_la-gmtk_common.Tpo -c -o libgmtk_la-gmtk_common.lo `test -f 'gmtk_common.c' || echo '$(srcdir)/'`gmtk_common.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmtk_la-gmtk_common.Tpo $(DEPDIR)/libgmtk_la-gmtk_common.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gmtk_common.c' object='libgmtk_la-gmtk_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gmtk_common.c' object='libgmtk_la-gmtk_common.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_common.lo `test -f 'gmtk_common.c' || echo '$(srcdir)/'`gmtk_common.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_common.lo `test -f 'gmtk_common.c' || echo '$(srcdir)/'`gmtk_common.c
libgmtk_la-gmtk_audio_meter.lo: gmtk_audio_meter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -MT libgmtk_la-gmtk_audio_meter.lo -MD -MP -MF $(DEPDIR)/libgmtk_la-gmtk_audio_meter.Tpo -c -o libgmtk_la-gmtk_audio_meter.lo `test -f 'gmtk_audio_meter.c' || echo '$(srcdir)/'`gmtk_audio_meter.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmtk_la-gmtk_audio_meter.Tpo $(DEPDIR)/libgmtk_la-gmtk_audio_meter.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gmtk_audio_meter.c' object='libgmtk_la-gmtk_audio_meter.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gmtk_audio_meter.c' object='libgmtk_la-gmtk_audio_meter.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_audio_meter.lo `test -f 'gmtk_audio_meter.c' || echo '$(srcdir)/'`gmtk_audio_meter.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_audio_meter.lo `test -f 'gmtk_audio_meter.c' || echo '$(srcdir)/'`gmtk_audio_meter.c
libgmtk_la-gmtk_media_player.lo: gmtk_media_player.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -MT libgmtk_la-gmtk_media_player.lo -MD -MP -MF $(DEPDIR)/libgmtk_la-gmtk_media_player.Tpo -c -o libgmtk_la-gmtk_media_player.lo `test -f 'gmtk_media_player.c' || echo '$(srcdir)/'`gmtk_media_player.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmtk_la-gmtk_media_player.Tpo $(DEPDIR)/libgmtk_la-gmtk_media_player.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gmtk_media_player.c' object='libgmtk_la-gmtk_media_player.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gmtk_media_player.c' object='libgmtk_la-gmtk_media_player.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_media_player.lo `test -f 'gmtk_media_player.c' || echo '$(srcdir)/'`gmtk_media_player.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_media_player.lo `test -f 'gmtk_media_player.c' || echo '$(srcdir)/'`gmtk_media_player.c
libgmtk_la-gmtk_media_tracker.lo: gmtk_media_tracker.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -MT libgmtk_la-gmtk_media_tracker.lo -MD -MP -MF $(DEPDIR)/libgmtk_la-gmtk_media_tracker.Tpo -c -o libgmtk_la-gmtk_media_tracker.lo `test -f 'gmtk_media_tracker.c' || echo '$(srcdir)/'`gmtk_media_tracker.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmtk_la-gmtk_media_tracker.Tpo $(DEPDIR)/libgmtk_la-gmtk_media_tracker.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gmtk_media_tracker.c' object='libgmtk_la-gmtk_media_tracker.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gmtk_media_tracker.c' object='libgmtk_la-gmtk_media_tracker.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_media_tracker.lo `test -f 'gmtk_media_tracker.c' || echo '$(srcdir)/'`gmtk_media_tracker.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_media_tracker.lo `test -f 'gmtk_media_tracker.c' || echo '$(srcdir)/'`gmtk_media_tracker.c
libgmtk_la-gmtk_output_combo_box.lo: gmtk_output_combo_box.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -MT libgmtk_la-gmtk_output_combo_box.lo -MD -MP -MF $(DEPDIR)/libgmtk_la-gmtk_output_combo_box.Tpo -c -o libgmtk_la-gmtk_output_combo_box.lo `test -f 'gmtk_output_combo_box.c' || echo '$(srcdir)/'`gmtk_output_combo_box.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgmtk_la-gmtk_output_combo_box.Tpo $(DEPDIR)/libgmtk_la-gmtk_output_combo_box.Plo
- at am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gmtk_output_combo_box.c' object='libgmtk_la-gmtk_output_combo_box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gmtk_output_combo_box.c' object='libgmtk_la-gmtk_output_combo_box.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_output_combo_box.lo `test -f 'gmtk_output_combo_box.c' || echo '$(srcdir)/'`gmtk_output_combo_box.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgmtk_la_CFLAGS) $(CFLAGS) -c -o libgmtk_la-gmtk_output_combo_box.lo `test -f 'gmtk_output_combo_box.c' || echo '$(srcdir)/'`gmtk_output_combo_box.c
mostlyclean-libtool:
-rm -f *.lo
@@ -632,8 +671,11 @@ clean-libtool:
-rm -rf .libs _libs
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -647,13 +689,14 @@ uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -667,9 +710,7 @@ uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(includedir)" && rm -f $$files
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -770,10 +811,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
diff --git a/src/gm_audio.c b/src/gm_audio.c
index 1e10bb8..44b191a 100644
--- a/src/gm_audio.c
+++ b/src/gm_audio.c
@@ -33,6 +33,7 @@
#endif
#include <math.h>
+#include "gm_log.h"
GList *gm_audio_devices = NULL;
gboolean gm_audio_debug = FALSE;
@@ -158,7 +159,7 @@ gboolean gm_audio_query_devices()
card = -1;
while (snd_card_next(&card) >= 0) {
- //printf("card = %i\n", card);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "card = %i", card);
if (card < 0)
break;
if (name != NULL) {
@@ -167,7 +168,7 @@ gboolean gm_audio_query_devices()
}
name = malloc(32);
sprintf(name, "hw:%i", card);
- //printf("name = %s\n",name);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "name = %s", name);
if ((err = snd_ctl_open(&handle, name, 0)) < 0) {
continue;
@@ -203,6 +204,7 @@ gboolean gm_audio_query_devices()
device->mplayer_ao = g_strdup(mplayer_ao);
gm_audio_devices = g_list_append(gm_audio_devices, device);
+ g_free(device_name);
g_free(desc);
g_free(mplayer_ao);
@@ -226,8 +228,9 @@ gboolean gm_audio_query_devices()
pa_context_set_state_callback(gm_audio_context, gm_audio_context_state_callback, gm_audio_devices);
}
// make sure the pulse events are done before we exit this function
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
+ //gm_log(FALSE, G_LOG_LEVEL_DEBUG, "waiting for all PA events to drain");
+ //while (g_main_context_pending(NULL))
+ // g_main_context_iteration(NULL, FALSE);
#endif
@@ -242,7 +245,7 @@ gboolean gm_audio_update_device(AudioDevice * device)
if (gm_audio_devices == NULL) {
gm_audio_query_devices();
}
- //printf("update device, looking for %s\n", device->description);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "update device, looking for %s", device->description);
device->type = AUDIO_TYPE_UNKNOWN;
if (device->alsa_device_name != NULL) {
@@ -257,7 +260,7 @@ gboolean gm_audio_update_device(AudioDevice * device)
iter = gm_audio_devices;
while (iter != NULL) {
data = (AudioDevice *) iter->data;
- //printf("Checking %s\n", data->description);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "Checking %s", data->description);
if ((device->description != NULL && g_ascii_strcasecmp(device->description, data->description) == 0)
|| ((device->description == NULL || g_ascii_strcasecmp(device->description, "") == 0)
&& g_ascii_strcasecmp(data->description, g_dgettext(GETTEXT_PACKAGE, "Default")) == 0)) {
@@ -321,7 +324,7 @@ gint gm_audio_get_default_pulse_index()
ret = device->pulse_index;
}
}
- //printf("default index is = %i\n", ret);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "default index is = %i", ret);
return ret;
}
@@ -347,6 +350,7 @@ gdouble gm_audio_get_volume(AudioDevice * device)
gm_audio_pa_sink_update_volume_cb, device);
}
}
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "waiting for all events to drain and volume to not be -1");
while (g_main_context_pending(NULL) || device->volume == -1)
g_main_context_iteration(NULL, FALSE);
@@ -390,7 +394,8 @@ gboolean gm_audio_alsa_monitor(gpointer data)
gdouble old_volume;
old_volume = device->volume;
- //printf("old volume = %f '%s' '%s'\n",old_volume,device->alsa_device_name, device->alsa_mixer);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "old volume = %f '%s' '%s'", old_volume, device->alsa_device_name,
+ device->alsa_mixer);
#ifdef HAVE_ASOUNDLIB
if (device->alsa_device_name && device->alsa_mixer)
@@ -400,7 +405,7 @@ gboolean gm_audio_alsa_monitor(gpointer data)
if (gm_audio_server_volume_update_callback && old_volume != device->volume)
g_idle_add(gm_audio_server_volume_update_callback, NULL);
- //printf("in alsa monitor %f\n",device->volume);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "in alsa monitor %f", device->volume);
return device->type == AUDIO_TYPE_ALSA;
}
@@ -420,10 +425,10 @@ void gm_audio_pa_sink_update_volume_cb(pa_context * c, const pa_sink_info * i, i
{
AudioDevice *device = (AudioDevice *) data;
GList *iter;
- gdouble old_volume = 0.0;
+ // gdouble old_volume = 0.0;
gint index;
- //printf("gm_audio_pa_sink_update_volume_cb %p, %i, %p\n",i, eol,data);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "gm_audio_pa_sink_update_volume_cb %p, %i, %p", i, eol, data);
if (i) {
if (device) {
device->pulse_channels = i->volume.channels;
@@ -439,9 +444,10 @@ void gm_audio_pa_sink_update_volume_cb(pa_context * c, const pa_sink_info * i, i
index = gm_audio_get_default_pulse_index();
}
if (i->index == index) {
- old_volume = device->volume;
+ //old_volume = device->volume;
device->volume = (gdouble) pa_cvolume_avg(&(i->volume)) / (gdouble) PA_VOLUME_NORM;
- // printf("updated %s volume to %f\n", device->description, device->volume);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "updated %s volume to %f", device->description,
+ device->volume);
}
}
iter = iter->next;
@@ -450,7 +456,9 @@ void gm_audio_pa_sink_update_volume_cb(pa_context * c, const pa_sink_info * i, i
g_idle_add(gm_audio_server_volume_update_callback, NULL);
}
}
- //printf("device volume = %f\n", device->volume);
+ if (device) {
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "device volume = %f", device->volume);
+ }
} else {
// eol == -1 when the index requested is not found
if (eol == -1 && device)
@@ -467,7 +475,7 @@ void gm_audio_pa_sink_cb(pa_context * c, const pa_sink_info * i, int eol, gpoint
if (i) {
- // printf("sink %i name: '%s'\n", i->index, i->name);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "sink %i name: '%s'", i->index, i->name);
desc = g_strdup_printf("%s (PulseAudio)", i->description);
mplayer_ao = g_strdup_printf("pulse::%i", i->index);
@@ -481,7 +489,8 @@ void gm_audio_pa_sink_cb(pa_context * c, const pa_sink_info * i, int eol, gpoint
device->volume = (gdouble) pa_cvolume_avg(&(i->volume)) / (gdouble) PA_VOLUME_NORM;
device->mplayer_ao = g_strdup(mplayer_ao);
gm_audio_devices = g_list_append(gm_audio_devices, device);
- //printf("\n%s\n\nproperties\n%s",desc,pa_proplist_to_string(i->proplist));
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "%s", desc);
+ gm_logsp(FALSE, G_LOG_LEVEL_DEBUG, "properties", pa_proplist_to_string(i->proplist));
g_free(desc);
g_free(mplayer_ao);
@@ -492,7 +501,7 @@ void gm_audio_pa_sink_cb(pa_context * c, const pa_sink_info * i, int eol, gpoint
void gm_audio_pa_subscribe_callback(pa_context * c, pa_subscription_event_type_t t, uint32_t index, void *userdata)
{
- // printf("subscribe_callback\n");
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "subscribe_callback");
switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) {
case PA_SUBSCRIPTION_EVENT_SINK:
pa_context_get_sink_info_by_index(c, index, gm_audio_pa_sink_update_volume_cb, NULL);
@@ -501,7 +510,7 @@ void gm_audio_pa_subscribe_callback(pa_context * c, pa_subscription_event_type_t
pa_context_get_server_info(c, gm_audio_pa_server_info_cb, NULL);
break;
default:
- //printf("index = %i\n",index);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "index = %i", index);
break;
}
}
@@ -518,8 +527,9 @@ void gm_audio_pa_server_info_cb(pa_context * c, const pa_server_info * i, void *
for (iter = gm_audio_devices; iter != NULL; iter = g_list_next(iter)) {
device = (AudioDevice *) iter->data;
if (device->pulse_sink_name != NULL) {
- if (g_strncasecmp(i->default_sink_name, device->pulse_sink_name, strlen(i->default_sink_name)) == 0) {
- // printf("The default output sink name is '%s'\n", i->default_sink_name);
+ if (g_ascii_strncasecmp(i->default_sink_name, device->pulse_sink_name, strlen(i->default_sink_name)) ==
+ 0) {
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "The default output sink name is '%s'", i->default_sink_name);
device->pulse_default = 1;
pa_context_get_sink_info_by_index(c, device->pulse_index, gm_audio_pa_sink_update_volume_cb, NULL);
} else {
@@ -534,9 +544,10 @@ void gm_audio_pa_server_info_cb(pa_context * c, const pa_server_info * i, void *
void gm_audio_context_state_callback(pa_context * c, gpointer data)
{
- //printf("context state callback\n");
int i;
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "context state callback");
+
switch (pa_context_get_state(c)) {
case PA_CONTEXT_READY:{
for (i = 0; i < 255; i++) {
@@ -569,22 +580,22 @@ gdouble get_alsa_volume(gchar * device, gchar * mixer)
gchar **local_mixer;
if ((err = snd_mixer_open(&mhandle, 0)) < 0) {
- printf("Mixer open error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer open error %s", snd_strerror(err));
return vol;
}
if ((err = snd_mixer_attach(mhandle, device)) < 0) {
- printf("Mixer attach error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer attach error %s", snd_strerror(err));
return vol;
}
if ((err = snd_mixer_selem_register(mhandle, NULL, NULL)) < 0) {
- printf("Mixer register error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer register error %s", snd_strerror(err));
return vol;
}
if ((err = snd_mixer_load(mhandle)) < 0) {
- printf("Mixer load error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer load error %s", snd_strerror(err));
return vol;
}
@@ -619,13 +630,11 @@ gdouble get_alsa_volume(gchar * device, gchar * mixer)
} else {
vol = 0;
}
- if (gm_audio_debug) {
- printf("Getting Volume \n");
- printf("%s Playback is %i\n", mixer, playback);
- printf("%s Range is %li to %li \n", mixer, pmin, pmax);
- printf("%s Current Volume %li, multiplier = %f\n", mixer, get_vol, f_multi);
- printf("Scaled Volume is %lf\n", vol);
- }
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "Getting Volume");
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Playback is %i", mixer, playback);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Range is %li to %li", mixer, pmin, pmax);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Current Volume %li, multiplier = %f", mixer, get_vol, f_multi);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "Scaled Volume is %lf", vol);
}
snd_mixer_selem_id_free(sid);
}
@@ -653,22 +662,22 @@ gboolean set_alsa_volume(gchar * device, gchar * mixer, gdouble volume)
gchar **local_mixer;
if ((err = snd_mixer_open(&mhandle, 0)) < 0) {
- printf("Mixer open error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer open error %s", snd_strerror(err));
return found;
}
if ((err = snd_mixer_attach(mhandle, device)) < 0) {
- printf("Mixer attach error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer attach error %s", snd_strerror(err));
return found;
}
if ((err = snd_mixer_selem_register(mhandle, NULL, NULL)) < 0) {
- printf("Mixer register error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer register error %s", snd_strerror(err));
return found;
}
if ((err = snd_mixer_load(mhandle)) < 0) {
- printf("Mixer load error %s\n", snd_strerror(err));
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "Mixer load error %s", snd_strerror(err));
return found;
}
@@ -706,13 +715,11 @@ gboolean set_alsa_volume(gchar * device, gchar * mixer, gdouble volume)
set_vol = (gdouble) ((volume) * f_multi) + pmin;
snd_mixer_selem_set_playback_volume_all(elem, set_vol);
}
- if (gm_audio_debug) {
- printf("Setting Volume\n");
- printf("%s Playback is %i\n", mixer, playback);
- printf("%s Range is %li to %li \n", mixer, pmin, pmax);
- printf("%s Volume %f, multiplier = %f\n", mixer, volume, f_multi);
- printf("Scaled Volume is %li\n", set_vol);
- }
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "Setting Volume");
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Playback is %i", mixer, playback);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Range is %li to %li", mixer, pmin, pmax);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "%s Volume %f, multiplier = %f", mixer, volume, f_multi);
+ gm_log(gm_audio_debug, G_LOG_LEVEL_INFO, "Scaled Volume is %li", set_vol);
found = TRUE;
}
snd_mixer_selem_id_free(sid);
diff --git a/src/gm_log.c b/src/gm_log.c
new file mode 100644
index 0000000..c69ee04
--- /dev/null
+++ b/src/gm_log.c
@@ -0,0 +1,234 @@
+/*
+ * gm_log.c
+ * Copyright (C) Kevin DeKorte 2012 <kdekorte at gmail.com> and Hans Ecke
+ *
+ * gm_log.c is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * gm_log.c is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with playlist.c. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "gm_log.h"
+
+/* How to control the GLib logging system: with environment variables
+
+G_MESSAGES_PREFIXED. A list of log levels for which messages should be prefixed by the
+program name and PID of the application. The default is to prefix everything except
+G_LOG_LEVEL_MESSAGE and G_LOG_LEVEL_INFO. The possible values are error, warning, critical,
+message, info and debug. You can also use the special values all and help.
+
+G_MESSAGES_PREFIXED="" disables all prefixing
+
+G_MESSAGES_DEBUG. Since glib 2.31, but emulated below for earlier versions.
+A space-separated list of log domains for which informational and
+debug messages should be printed. By default, these messages are not printed.
+
+G_MESSAGES_DEBUG=GMLIB enables a lot of output from gmlib
+
+*/
+
+#include <string.h>
+
+#undef G_LOG_DOMAIN
+#define G_LOG_DOMAIN ((gchar*) "GMLIB")
+
+static int fixup_loglevel(gboolean force_info_to_message, GLogLevelFlags * log_level)
+{
+
+ // by default, all messages G_LOG_LEVEL_MESSAGE or above are shown
+ // if our own debug flag is set, force G_LOG_LEVEL_INFO messages to MESSAGE
+ //
+ // GLib loglevels are bitmasks, so we need to do bitmask operations here
+ if (force_info_to_message && ((*log_level) & G_LOG_LEVEL_INFO)) {
+ (*log_level) &= ~G_LOG_LEVEL_INFO;
+ (*log_level) |= G_LOG_LEVEL_MESSAGE;
+ }
+ // emulate G_MESSAGES_DEBUG for glib < 2.31. We determine version at runtime
+ // because it might have changed from the time we compiled this
+ if (glib_major_version == 2 && glib_minor_version < 31) {
+ if ((*log_level) & G_LOG_LEVEL_DEBUG) {
+ const gchar *G_MESSAGES_DEBUG = g_getenv("G_MESSAGES_DEBUG");
+
+ // if it doesn't exists or we can't find the string "GMLIB",
+ // then don't print this message
+ if (G_MESSAGES_DEBUG == NULL) {
+ return 0;
+ }
+ if (G_MESSAGES_DEBUG[0] == '\0') {
+ return 0;
+ }
+ // this is not quite proper, but for a simple emulation whose need will go away in the future...
+ if (strstr(G_MESSAGES_DEBUG, G_LOG_DOMAIN) == NULL && strstr(G_MESSAGES_DEBUG, "all") == NULL) {
+ return 0;
+ }
+ }
+ }
+ return 1;
+}
+
+// in newer versions of GLib you can use a static (or stack-allocated)
+// GMutex directly, but for older versions you need to use a GStaticMutex
+static GStaticMutex ptr2strmutex = G_STATIC_MUTEX_INIT;
+static GHashTable *ptr2str = NULL;
+
+static gboolean key_equal_func(gconstpointer a, gconstpointer b)
+{
+ if (a == b) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
+/*
+ This function operates on static data structures, thus it needs to be
+ locked by the above mutex.
+
+ It returns a string representation of the current thread number.
+ Unfortunately, in GLib you can only access g_thread_self(), which is a
+ pointer. Using printf("%p", g_thread_self()) is certainly possible, but
+ difficult to understand at a glance, and hard to compare traces from
+ different runs.
+*/
+static const gchar *threadid_core(gchar const *name)
+{
+ void *key;
+ void *value;
+
+ if (ptr2str == NULL) {
+ ptr2str = g_hash_table_new(g_direct_hash, key_equal_func);
+ }
+ key = g_thread_self();
+ value = g_hash_table_lookup(ptr2str, key);
+ if (value == NULL) {
+ if (name == NULL || name[0] == '\0') {
+ name = "th";
+ }
+ value = g_strdup_printf("[%s%u] ", name, g_hash_table_size(ptr2str));
+ g_hash_table_insert(ptr2str, key, value);
+ }
+ return value;
+}
+
+/*
+ If GM_DEBUG_THREADS is set, return a string representation of
+ the current thread number. If it is not set, return the empty string.
+*/
+static const gchar *threadid()
+{
+ const gchar *str;
+ if (!g_getenv("GM_DEBUG_THREADS")) {
+ return "";
+ }
+ g_static_mutex_lock(&ptr2strmutex);
+ str = threadid_core(NULL);
+ g_static_mutex_unlock(&ptr2strmutex);
+ return str;
+}
+
+// this function will only change the thread name if it is the first gm_log* function called within that thread
+// there are pros and cons for this behavior, but consistent thread names (that don't change because somebody calls
+// this function) are certainly a "pro".
+void gm_log_name_this_thread(gchar const *const name)
+{
+ if (!g_getenv("GM_DEBUG_THREADS")) {
+ return;
+ }
+ g_static_mutex_lock(&ptr2strmutex);
+ (void) threadid_core(name);
+ g_static_mutex_unlock(&ptr2strmutex);
+}
+
+// Note that the format should not have a trailing \n - the glib logging system adds it
+void gm_logv(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * format, va_list args)
+{
+ gchar *f = NULL;
+
+ if (!fixup_loglevel(force_info_to_message, &log_level)) {
+ return;
+ }
+
+ f = g_strdup_printf("%s%s", threadid(), format);
+ g_logv(G_LOG_DOMAIN, log_level, f, args);
+ g_free(f);
+
+ return;
+}
+
+void gm_log(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * format, ...)
+{
+ va_list args;
+ va_start(args, format);
+ gm_logv(force_info_to_message, log_level, format, args);
+ va_end(args);
+}
+
+void gm_logs(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * msg)
+{
+ size_t len;
+ gchar *msg_nonl = NULL;
+
+ if (!fixup_loglevel(force_info_to_message, &log_level)) {
+ return;
+ }
+ // this function should be called if there might be a newline
+ // at the end of the string. it will only allocate a copy
+ // if necessary.
+ len = strlen(msg);
+
+ if (msg[len - 1] != '\n') {
+ g_log(G_LOG_DOMAIN, log_level, "%s%s", threadid(), msg);
+ return;
+ }
+
+ msg_nonl = g_strdup(msg);
+ msg_nonl[len - 1] = '\0';
+ g_log(G_LOG_DOMAIN, log_level, "%s%s", threadid(), msg_nonl);
+ g_free(msg_nonl);
+}
+
+void gm_logsp(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * prefix, const gchar * msg)
+{
+ gchar **lines = NULL;
+ gchar *nl_loc;
+ gint linei;
+
+ if (!fixup_loglevel(force_info_to_message, &log_level)) {
+ return;
+ }
+
+ nl_loc = g_strrstr(msg, "\n");
+
+ if (nl_loc == NULL) {
+ g_log(G_LOG_DOMAIN, log_level, "%s%s %s", threadid(), prefix, msg);
+ return;
+ }
+ // slow path
+ // there is a \n somewhere, so we have to do an allocation either way
+ lines = g_strsplit(msg, "\n", 0);
+ linei = 0;
+ while (lines[linei] != NULL) {
+ g_strchomp(lines[linei]);
+ if (lines[linei][0] != '\0') {
+ g_log(G_LOG_DOMAIN, log_level, "%s%s %s", threadid(), prefix, lines[linei]);
+ }
+ linei++;
+ }
+
+ g_strfreev(lines);
+ lines = NULL;
+
+}
diff --git a/src/gm_log.h b/src/gm_log.h
new file mode 100644
index 0000000..ebe75a3
--- /dev/null
+++ b/src/gm_log.h
@@ -0,0 +1,39 @@
+/*
+ * gm_log.h
+ * Copyright (C) Kevin DeKorte 2012 <kdekorte at gmail.com> and Hans Ecke
+ *
+ * gm_log.h is free software.
+ *
+ * You may redistribute it and/or modify it under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * gm_log.h is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with playlist.c. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+
+#endif
+ void gm_logv(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * format, va_list args);
+ __attribute__ ((format(printf, 3, 4))) void gm_log(gboolean force_info_to_message, GLogLevelFlags log_level,
+ const gchar * format, ...);
+ void gm_logs(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * msg);
+ void gm_logsp(gboolean force_info_to_message, GLogLevelFlags log_level, const gchar * prefix, const gchar * msg);
+ void gm_log_name_this_thread(gchar const *const name);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/gm_parse.c b/src/gm_parse.c
index f7e5553..4879f05 100644
--- a/src/gm_parse.c
+++ b/src/gm_parse.c
@@ -134,7 +134,7 @@ gboolean gm_parse_asx_is_asx(const gchar * uri)
continue;
}
newline = g_strdup(line);
- if (g_strncasecmp(newline, "<asx", g_utf8_strlen("<asx", -1)) == 0) {
+ if (g_ascii_strncasecmp(newline, "<asx", g_utf8_strlen("<asx", -1)) == 0) {
ret = TRUE;
g_free(newline);
break;
@@ -178,14 +178,14 @@ gboolean gm_parse_asx_is_asx(const gchar * uri)
if (g_utf8_strlen(line, -1) == 0) {
// do nothing;
} else {
- //printf("line = %s\n", line);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "line = %s", line);
newline = g_strdup(line);
- if (g_strncasecmp(newline, "<asx", g_utf8_strlen("<asx", -1)) == 0) {
- //printf("asx\n");
+ if (g_ascii_strncasecmp(newline, "<asx", g_utf8_strlen("<asx", -1)) == 0) {
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "asx");
ret = TRUE;
g_free(newline);
} else if (g_strrstr(newline, "<asx") != NULL) {
- //printf("asx\n");
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "asx");
ret = TRUE;
g_free(newline);
}
@@ -197,9 +197,9 @@ gboolean gm_parse_asx_is_asx(const gchar * uri)
g_free(line);
line = NULL;
}
+ fclose(fp);
}
g_free(file);
- fclose(fp);
#endif
return ret;
}
diff --git a/src/gm_strfuncs.h b/src/gm_strfuncs.h
index 10fbf4f..906aae8 100644
--- a/src/gm_strfuncs.h
+++ b/src/gm_strfuncs.h
@@ -24,6 +24,10 @@
#include <glib.h>
+#ifndef gm_bool_to_string
+#define gm_bool_to_string(x) ((x) ? "true" : "false")
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/src/gmlib.h b/src/gmlib.h
index a7f7c19..5e6e913 100644
--- a/src/gmlib.h
+++ b/src/gmlib.h
@@ -24,6 +24,7 @@
#include "gm_audio.h"
#include "gm_file.h"
+#include "gm_log.h"
#include "gm_parse.h"
#include "gm_pref_store.h"
#include "gm_strfuncs.h"
diff --git a/src/gmtk_common.c b/src/gmtk_common.c
index 6850e0e..129b3be 100644
--- a/src/gmtk_common.c
+++ b/src/gmtk_common.c
@@ -23,6 +23,7 @@
*/
#include "gmtk_common.h"
+#include <libintl.h>
void gmtk_get_allocation(GtkWidget * widget, GtkAllocation * allocation)
{
diff --git a/src/gmtk_media_player.c b/src/gmtk_media_player.c
index e7656bc..2589455 100644
--- a/src/gmtk_media_player.c
+++ b/src/gmtk_media_player.c
@@ -2,19 +2,19 @@
/*
* gmtk_media_player.c
* Copyright (C) Kevin DeKorte 2009 <kdekorte at gmail.com>
- *
+ *
* gmtk_media_player.c is free software.
- *
+ *
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
- *
+ *
* gmtk_media_tracker.c is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with playlist.c. If not, write to:
* The Free Software Foundation, Inc.,
@@ -56,6 +56,11 @@ static void socket_realized(GtkWidget * widget, gpointer data)
player->socket_id = GPOINTER_TO_INT(gtk_socket_get_id(GTK_SOCKET(widget)));
style = gtk_widget_get_style(GTK_WIDGET(player));
gtk_widget_modify_bg(GTK_WIDGET(player), GTK_STATE_NORMAL, &(style->black));
+ gtk_widget_modify_bg(GTK_WIDGET(player->alignment), GTK_STATE_NORMAL, &(style->black));
+ gtk_widget_modify_bg(GTK_WIDGET(player), GTK_STATE_ACTIVE, &(style->black));
+ gtk_widget_modify_bg(GTK_WIDGET(player), GTK_STATE_SELECTED, &(style->black));
+ gtk_widget_modify_bg(GTK_WIDGET(player), GTK_STATE_PRELIGHT, &(style->black));
+ gtk_widget_modify_bg(GTK_WIDGET(player), GTK_STATE_INSENSITIVE, &(style->black));
if (player->vo != NULL) {
if (!(g_ascii_strncasecmp(player->vo, "vdpau", strlen("vdpau")) == 0)) {
gtk_widget_modify_bg(GTK_WIDGET(player->socket), GTK_STATE_NORMAL, &(style->black));
@@ -91,10 +96,18 @@ gboolean signal_event(gpointer data)
case EVENT_TYPE_ALLOCATION:
if (!(event->event_allocation->width >= 65535 || event->event_allocation->height >= 65535))
g_signal_emit_by_name(event->player, event->event_name, event->event_allocation);
+ g_free(event->event_allocation);
+ event->event_allocation = NULL;
+ break;
+
+ case EVENT_TYPE_STRING:
+ g_signal_emit_by_name(event->player, event->event_name, event->event_data_string);
+ g_free(event->event_data_string);
+ event->event_data_string = NULL;
break;
default:
- printf("undefined event %s\n", event->event_name);
+ gm_log(event->player->debug, G_LOG_LEVEL_MESSAGE, "undefined event %s", event->event_name);
}
g_free(event->event_name);
event->event_name = NULL;
@@ -150,7 +163,21 @@ void create_event_allocation(GmtkMediaPlayer * player, const gchar * name, GtkAl
event->player = player;
event->type = EVENT_TYPE_ALLOCATION;
event->event_name = g_strdup(name);
- event->event_allocation = allocation;
+ event->event_allocation = g_new0(GtkAllocation, 1);
+ memcpy(event->event_allocation, allocation, sizeof(GtkAllocation));
+ g_idle_add(signal_event, event);
+
+}
+
+void create_event_string(GmtkMediaPlayer * player, const gchar * name, gchar * string)
+{
+ GmtkMediaPlayerEvent *event;
+
+ event = g_new0(GmtkMediaPlayerEvent, 1);
+ event->player = player;
+ event->type = EVENT_TYPE_STRING;
+ event->event_name = g_strdup(name);
+ event->event_data_string = g_strdup(string);
g_idle_add(signal_event, event);
}
@@ -168,6 +195,67 @@ gchar *gmtk_media_player_switch_protocol(const gchar * uri, gchar * new_protocol
return NULL;
}
+const gchar *gmtk_media_state_to_string(const GmtkMediaPlayerMediaState media_state)
+{
+ switch (media_state) {
+ case MEDIA_STATE_UNKNOWN:
+ return "unknown";
+ case MEDIA_STATE_PLAY:
+ return "play";
+ case MEDIA_STATE_PAUSE:
+ return "pause";
+ case MEDIA_STATE_STOP:
+ return "stop";
+ case MEDIA_STATE_QUIT:
+ return "quit";
+ case MEDIA_STATE_BUFFERING:
+ return "buffering";
+ default:
+ return "???";
+ }
+}
+
+static void gmtk_media_player_log_state(GmtkMediaPlayer * player, char const *const context)
+{
+// Gmtk_Media_Player_Log_State
+#define GMPLS_LEN 1024
+ gchar msg[GMPLS_LEN] = "";
+ gchar *tmp;
+
+ if (context != NULL && (*context) != '\0') {
+ g_strlcat(msg, context, GMPLS_LEN);
+ g_strlcat(msg, ": ", GMPLS_LEN);
+ }
+ tmp = g_strdup_printf("position=%.3f length=%.3f start_time=%.3f run_time=%.3f volume=%.2f", player->position,
+ player->length, player->start_time, player->run_time, player->volume);
+ g_strlcat(msg, tmp, GMPLS_LEN);
+ g_free(tmp);
+
+ if (player->muted) {
+ g_strlcat(msg, " muted", GMPLS_LEN);
+ }
+
+ g_strlcat(msg, " player=", GMPLS_LEN);
+ switch (player->player_state) {
+ case PLAYER_STATE_DEAD:
+ g_strlcat(msg, "dead", GMPLS_LEN);
+ break;
+ case PLAYER_STATE_RUNNING:
+ g_strlcat(msg, "running", GMPLS_LEN);
+ break;
+ default:
+ g_strlcat(msg, "???", GMPLS_LEN);
+ }
+
+ g_strlcat(msg, " media=", GMPLS_LEN);
+ g_strlcat(msg, gmtk_media_state_to_string(player->media_state), GMPLS_LEN);
+ g_strlcat(msg, " uri=", GMPLS_LEN);
+ if (player->uri != NULL) {
+ g_strlcat(msg, player->uri, GMPLS_LEN);
+ }
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "%s", msg);
+}
+
static void gmtk_media_player_class_init(GmtkMediaPlayerClass * class)
{
GtkWidgetClass *widget_class;
@@ -238,6 +326,12 @@ static void gmtk_media_player_class_init(GmtkMediaPlayerClass * class)
G_STRUCT_OFFSET(GmtkMediaPlayerClass, restart_complete),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ g_signal_new("error-message",
+ G_OBJECT_CLASS_TYPE(object_class),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET(GmtkMediaPlayerClass, error_message),
+ NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
+
}
static void gmtk_media_player_init(GmtkMediaPlayer * player)
@@ -250,7 +344,7 @@ static void gmtk_media_player_init(GmtkMediaPlayer * player)
gtk_widget_add_events(GTK_WIDGET(player),
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK);
+ GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK | GDK_SCROLL_MASK);
g_signal_connect(player, "key_press_event", G_CALLBACK(player_key_press_event_callback), NULL);
@@ -318,7 +412,6 @@ static void gmtk_media_player_init(GmtkMediaPlayer * player)
player->audio_codec = NULL;
player->disable_upscaling = FALSE;
player->mplayer_binary = NULL;
- player->media_device = NULL;
player->extra_opts = NULL;
player->use_mplayer2 = FALSE;
player->features_detected = FALSE;
@@ -338,12 +431,31 @@ static void gmtk_media_player_init(GmtkMediaPlayer * player)
player->profile = NULL;
player->alang = NULL;
player->slang = NULL;
+ player->artist = NULL;
+ player->title = NULL;
+ player->album = NULL;
+ player->disposed = FALSE;
+ player->player_lock = g_mutex_new();
+ gmtk_media_player_log_state(player, "after init");
}
static void gmtk_media_player_dispose(GObject * object)
{
- GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(object);
+ GmtkMediaPlayer *player;
+
+ if (object == NULL) {
+ return;
+ }
+
+ player = GMTK_MEDIA_PLAYER(object);
+
+ if (player->disposed) {
+ return;
+ }
+ player->disposed = TRUE;
+
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "gmtk_media_player_dispose");
// cleanup the memory used
@@ -379,11 +491,6 @@ static void gmtk_media_player_dispose(GObject * object)
player->message = NULL;
}
- if (player->media_device != NULL) {
- g_free(player->media_device);
- player->media_device = NULL;
- }
-
if (player->extra_opts != NULL) {
g_free(player->extra_opts);
player->extra_opts = NULL;
@@ -414,6 +521,31 @@ static void gmtk_media_player_dispose(GObject * object)
player->af_export_filename = NULL;
}
+ if (player->subtitle_font != NULL) {
+ g_free(player->subtitle_font);
+ player->subtitle_font = NULL;
+ }
+
+ if (player->subtitle_color != NULL) {
+ g_free(player->subtitle_color);
+ player->subtitle_color = NULL;
+ }
+
+ if (player->profile != NULL) {
+ g_free(player->profile);
+ player->profile = NULL;
+ }
+
+ if (player->slang != NULL) {
+ g_free(player->slang);
+ player->slang = NULL;
+ }
+
+ if (player->alang != NULL) {
+ g_free(player->alang);
+ player->alang = NULL;
+ }
+
gdk_color_free(player->default_background);
G_OBJECT_CLASS(parent_class)->dispose(object);
@@ -444,8 +576,7 @@ static gboolean player_key_press_event_callback(GtkWidget * widget, GdkEventKey
if (event->is_modifier)
return TRUE;
- if ((event->state & GDK_SHIFT_MASK) == 0 && (event->state & GDK_CONTROL_MASK) == 0
- && (event->state & GDK_MOD1_MASK) == 0) {
+ if ((event->state & GDK_CONTROL_MASK) == 0 && (event->state & GDK_MOD1_MASK) == 0) {
switch (event->keyval) {
case GDK_Right:
if (player->title_is_menu) {
@@ -582,12 +713,13 @@ static gboolean player_key_press_event_callback(GtkWidget * widget, GdkEventKey
case GDK_z:
write_to_mplayer(player, "sub_delay -0.1\n");
break;
+ case GDK_o:
+ write_to_mplayer(player, "osd\n");
+ break;
default:
- if (player->debug) {
- printf("ignoring key %s%s%s%s \n", (event->state & GDK_CONTROL_MASK) ? "Control-" : "",
- (event->state & GDK_MOD1_MASK) ? "Alt-" : "",
- (event->state & GDK_SHIFT_MASK) ? "Shift-" : "", gdk_keyval_name(event->keyval));
- }
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "ignoring key %s%s%s%s",
+ (event->state & GDK_CONTROL_MASK) ? "Control-" : "", (event->state & GDK_MOD1_MASK) ? "Alt-" : "",
+ (event->state & GDK_SHIFT_MASK) ? "Shift-" : "", gdk_keyval_name(event->keyval));
}
}
@@ -616,9 +748,19 @@ static gboolean player_motion_notify_event_callback(GtkWidget * widget, GdkEvent
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(widget);
gchar *cmd;
gint x, y;
+#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 4
+ GdkDeviceManager *device_manager;
+ GdkDevice *pointer;
+#endif
if (player->title_is_menu) {
+#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 4
+ device_manager = gdk_display_get_device_manager(gtk_widget_get_display(widget));
+ pointer = gdk_device_manager_get_client_pointer(device_manager);
+ gdk_window_get_device_position(gtk_widget_get_window(widget), pointer, &x, &y, NULL);
+#else
gtk_widget_get_pointer(player->socket, &x, &y);
+#endif
cmd = g_strdup_printf("set_mouse_pos %i %i\n", x, y);
write_to_mplayer(player, cmd);
g_free(cmd);
@@ -635,6 +777,15 @@ static void gmtk_media_player_size_allocate(GtkWidget * widget, GtkAllocation *
gdouble widget_aspect;
gfloat xscale, yscale;
+ if (allocation->width <= 0 || allocation->height <= 0) {
+ gmtk_get_allocation(widget, allocation);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "widget allocation %i x %i", allocation->width, allocation->height);
+ }
+ // protect against possible divide by zero
+ if (allocation->width == 0 || allocation->height == 0) {
+ return;
+ }
+
if (player->video_width == 0 || player->video_height == 0 || !gmtk_widget_get_realized(widget)) {
gtk_alignment_set(GTK_ALIGNMENT(player->alignment), 0.0, 0.0, 1.0, 1.0);
} else {
@@ -651,6 +802,9 @@ static void gmtk_media_player_size_allocate(GtkWidget * widget, GtkAllocation *
case ASPECT_WINDOW:
video_aspect = (gdouble) allocation->width / (gdouble) allocation->height;
break;
+ case ASPECT_ANAMORPHIC:
+ video_aspect = 2.39;
+ break;
case ASPECT_DEFAULT:
default:
video_aspect = (gdouble) player->video_width / (gdouble) player->video_height;
@@ -670,8 +824,7 @@ static void gmtk_media_player_size_allocate(GtkWidget * widget, GtkAllocation *
if (video_aspect > widget_aspect) {
yscale = ((gdouble) allocation->width / video_aspect) / (gdouble) allocation->height;
- //if (player->debug)
- // printf("yscale = %lf\n",yscale);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "yscale = %lf", yscale);
if (yscale > 0.0) {
gtk_alignment_set(GTK_ALIGNMENT(player->alignment), 0.0, 0.5, 1.0, CLAMP(yscale, 0.1, 1.0));
} else {
@@ -680,8 +833,7 @@ static void gmtk_media_player_size_allocate(GtkWidget * widget, GtkAllocation *
} else {
xscale = ((gdouble) allocation->height * video_aspect) / (gdouble) allocation->width;
- //if (player->debug)
- // printf("xscale = %lf\n",xscale);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "xscale = %lf", xscale);
if (xscale > 0.0) {
gtk_alignment_set(GTK_ALIGNMENT(player->alignment), 0.5, 0.0, CLAMP(xscale, 0.1, 1.0), 1.0);
} else {
@@ -691,7 +843,10 @@ static void gmtk_media_player_size_allocate(GtkWidget * widget, GtkAllocation *
}
}
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "gmtk allocation video:%s %ix%i", gm_bool_to_string(player->video_present),
+ allocation->width, allocation->height);
GTK_WIDGET_CLASS(parent_class)->size_allocate(widget, allocation);
+
}
GtkWidget *gmtk_media_player_new()
@@ -705,11 +860,12 @@ static void gmtk_media_player_restart_complete_callback(GmtkMediaPlayer * player
{
gmtk_media_player_seek(player, player->restart_position, SEEK_ABSOLUTE);
player->restart = FALSE;
- //printf("restart state = %i, current state = %i\n", player->restart_state, gmtk_media_player_get_state(player));
- if (player->restart_state != gmtk_media_player_get_state(player))
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "restart state = %s, current state = %s",
+ gmtk_media_state_to_string(player->restart_state),
+ gmtk_media_state_to_string(gmtk_media_player_get_media_state(player)));
+ if (player->restart_state != gmtk_media_player_get_media_state(player))
gmtk_media_player_set_state(GMTK_MEDIA_PLAYER(player), player->restart_state);
- if (player->debug)
- printf("restart complete\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "restart complete");
}
static void gmtk_media_player_restart_shutdown_complete_callback(GmtkMediaPlayer * player, gpointer data)
@@ -727,7 +883,7 @@ void gmtk_media_player_restart(GmtkMediaPlayer * player)
{
if (player->player_state == PLAYER_STATE_RUNNING) {
player->restart = TRUE;
- player->restart_state = gmtk_media_player_get_state(player);
+ player->restart_state = gmtk_media_player_get_media_state(player);
gmtk_media_player_set_state(player, MEDIA_STATE_PAUSE);
player->restart_position = player->position;
gmtk_media_player_set_state(GMTK_MEDIA_PLAYER(player), MEDIA_STATE_QUIT);
@@ -768,24 +924,28 @@ const gchar *gmtk_media_player_get_uri(GmtkMediaPlayer * player)
return player->uri;
}
-void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayerMediaState new_state)
+void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayerMediaState new_media_state)
{
+ gmtk_media_player_log_state(player, "old");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "setting media state to %s", gmtk_media_state_to_string(new_media_state));
+
if (player->player_state == PLAYER_STATE_DEAD) {
- if (new_state == MEDIA_STATE_QUIT) {
+ if (new_media_state == MEDIA_STATE_QUIT) {
player->media_state = MEDIA_STATE_UNKNOWN;
}
- if (new_state == MEDIA_STATE_STOP) {
+ if (new_media_state == MEDIA_STATE_STOP) {
player->media_state = MEDIA_STATE_UNKNOWN;
}
- if (new_state == MEDIA_STATE_PAUSE) {
+ if (new_media_state == MEDIA_STATE_PAUSE) {
player->media_state = MEDIA_STATE_UNKNOWN;
}
- if (new_state == MEDIA_STATE_PLAY) {
+ if (new_media_state == MEDIA_STATE_PLAY) {
// launch player
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "launching launch_mplayer thread");
player->mplayer_thread = g_thread_create(launch_mplayer, player, TRUE, NULL);
if (player->mplayer_thread != NULL) {
if (player->message != NULL) {
@@ -798,6 +958,7 @@ void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayer
player->player_state = PLAYER_STATE_RUNNING;
if (!player->restart)
g_signal_emit_by_name(player, "player-state-changed", player->player_state);
+ gmtk_media_player_log_state(player, "new");
return;
}
}
@@ -805,7 +966,7 @@ void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayer
}
if (player->player_state == PLAYER_STATE_RUNNING) {
- if (new_state == MEDIA_STATE_STOP) {
+ if (new_media_state == MEDIA_STATE_STOP) {
if (player->type == TYPE_NETWORK) {
write_to_mplayer(player, "quit\n");
} else {
@@ -820,7 +981,7 @@ void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayer
}
}
- if (new_state == MEDIA_STATE_PLAY) {
+ if (new_media_state == MEDIA_STATE_PLAY) {
gtk_widget_show(GTK_WIDGET(player->socket));
if (player->media_state == MEDIA_STATE_PAUSE || player->media_state == MEDIA_STATE_STOP) {
@@ -836,7 +997,7 @@ void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayer
}
}
- if (new_state == MEDIA_STATE_PAUSE) {
+ if (new_media_state == MEDIA_STATE_PAUSE) {
if (player->media_state == MEDIA_STATE_PLAY) {
write_to_mplayer(player, "pause\n");
player->media_state = MEDIA_STATE_PAUSE;
@@ -845,14 +1006,15 @@ void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayer
}
}
- if (new_state == MEDIA_STATE_QUIT) {
+ if (new_media_state == MEDIA_STATE_QUIT) {
write_to_mplayer(player, "quit\n");
}
}
+ gmtk_media_player_log_state(player, "new");
}
-GmtkMediaPlayerMediaState gmtk_media_player_get_state(GmtkMediaPlayer * player)
+GmtkMediaPlayerMediaState gmtk_media_player_get_media_state(GmtkMediaPlayer * player)
{
return player->media_state;
}
@@ -888,6 +1050,14 @@ void gmtk_media_player_send_command(GmtkMediaPlayer * player, GmtkMediaPlayerCom
write_to_mplayer(player, "sub_select\n");
break;
+ case COMMAND_SUBTITLE_STEP_FORWARD:
+ write_to_mplayer(player, "sub_step 1\n");
+ break;
+
+ case COMMAND_SUBTITLE_STEP_BACKWARD:
+ write_to_mplayer(player, "sub_step -1\n");
+ break;
+
case COMMAND_SWITCH_FRAME_DROP:
write_to_mplayer(player, "frame_drop\n");
cmd =
@@ -899,8 +1069,7 @@ void gmtk_media_player_send_command(GmtkMediaPlayer * player, GmtkMediaPlayerCom
break;
default:
- if (player->debug)
- printf("Unknown command\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unknown command");
}
}
}
@@ -1005,8 +1174,7 @@ void gmtk_media_player_set_attribute_boolean(GmtkMediaPlayer * player,
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return;
@@ -1018,9 +1186,7 @@ gboolean gmtk_media_player_get_attribute_boolean(GmtkMediaPlayer * player, GmtkM
switch (attribute) {
case ATTRIBUTE_SUB_VISIBLE:
- if (g_list_length(player->subtitles) != 0) {
- ret = player->sub_visible;
- }
+ ret = player->sub_visible;
break;
case ATTRIBUTE_ENABLE_FRAME_DROP:
@@ -1108,8 +1274,7 @@ gboolean gmtk_media_player_get_attribute_boolean(GmtkMediaPlayer * player, GmtkM
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return ret;
}
@@ -1151,16 +1316,18 @@ void gmtk_media_player_set_attribute_double(GmtkMediaPlayer * player,
write_to_mplayer(player, cmd);
g_free(cmd);
cmd = NULL;
+ write_to_mplayer(player, "get_property speed\n");
}
break;
case ATTRIBUTE_SPEED_SET:
- player->speed_multiplier = CLAMP(value, 0.1, 10.0);
+ player->speed = CLAMP(value, 0.1, 10.0);
if (player->player_state == PLAYER_STATE_RUNNING) {
- cmd = g_strdup_printf("speed_set %f\n", player->speed_multiplier);
+ cmd = g_strdup_printf("speed_set %f\n", player->speed);
write_to_mplayer(player, cmd);
g_free(cmd);
cmd = NULL;
+ write_to_mplayer(player, "get_property speed\n");
}
break;
@@ -1195,8 +1362,7 @@ void gmtk_media_player_set_attribute_double(GmtkMediaPlayer * player,
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return;
@@ -1251,6 +1417,10 @@ gdouble gmtk_media_player_get_attribute_double(GmtkMediaPlayer * player, GmtkMed
ret = player->speed_multiplier;
break;
+ case ATTRIBUTE_SPEED_SET:
+ ret = player->speed;
+ break;
+
case ATTRIBUTE_SUBTITLE_SCALE:
ret = player->subtitle_scale;
break;
@@ -1276,8 +1446,7 @@ gdouble gmtk_media_player_get_attribute_double(GmtkMediaPlayer * player, GmtkMed
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return ret;
}
@@ -1448,8 +1617,7 @@ void gmtk_media_player_set_attribute_string(GmtkMediaPlayer * player,
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
}
@@ -1526,15 +1694,27 @@ const gchar *gmtk_media_player_get_attribute_string(GmtkMediaPlayer * player, Gm
break;
case ATTRIBUTE_ARTIST:
- value = player->artist;
+ if (player->artist == NULL || strlen(player->artist) == 0) {
+ value = NULL;
+ } else {
+ value = player->artist;
+ }
break;
case ATTRIBUTE_TITLE:
- value = player->title;
+ if (player->title == NULL || strlen(player->title) == 0) {
+ value = NULL;
+ } else {
+ value = player->title;
+ }
break;
case ATTRIBUTE_ALBUM:
- value = player->album;
+ if (player->album == NULL || strlen(player->album) == 0) {
+ value = NULL;
+ } else {
+ value = player->album;
+ }
break;
case ATTRIBUTE_PROFILE:
@@ -1542,8 +1722,7 @@ const gchar *gmtk_media_player_get_attribute_string(GmtkMediaPlayer * player, Gm
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return value;
@@ -1635,8 +1814,7 @@ void gmtk_media_player_set_attribute_integer(GmtkMediaPlayer * player, GmtkMedia
break;
default:
- if (player->debug)
- printf("Unsupported Attribute\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "Unsupported Attribute");
}
return;
@@ -1941,6 +2119,39 @@ void gmtk_media_player_select_audio_track_by_id(GmtkMediaPlayer * player, gint i
}
}
+static const gchar *playback_error_to_string(const GmtkMediaPlayerPlaybackError playback_error)
+{
+ switch (playback_error) {
+ case NO_ERROR:
+ return "NO_ERROR";
+ case ERROR_RETRY_WITH_PLAYLIST:
+ return "RETRY_WITH_PLAYLIST";
+ case ERROR_RETRY_WITH_HTTP:
+ return "RETRY_WITH_HTTP";
+ case ERROR_RETRY_WITH_HTTP_AND_PLAYLIST:
+ return "RETRY_WITH_HTTP_AND_PLAYLIST";
+ case ERROR_RETRY_WITH_MMSHTTP:
+ return "RETRY_WITH_MMSHTTP";
+ case ERROR_RETRY_WITHOUT_DIVX_VDPAU:
+ return "RETRY_WITHOUT_DIVX_VDPAU";
+ case ERROR_RETRY_WITHOUT_XVMC:
+ return "RETRY_WITHOUT_XVMC";
+ case ERROR_RETRY_ALSA_BUSY:
+ return "RETRY_ALSA_BUSY";
+ case ERROR_RETRY_VDPAU:
+ return "RETRY_VDPAU";
+ case ERROR_RETRY_WITHOUT_HARDWARE_CODECS:
+ return "RETRY_WITHOUT_HARDWARE_CODECS";
+ case ERROR_RETRY:
+ return "RETRY";
+ default:
+ return "???";
+ }
+
+}
+
+
+
gpointer launch_mplayer(gpointer data)
{
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(data);
@@ -1950,7 +2161,7 @@ gpointer launch_mplayer(gpointer data)
GPid pid;
GError *error;
gint i;
- gint spawn;
+ gboolean spawn;
gchar *fontname;
gchar *size;
gchar *tmp;
@@ -1965,6 +2176,9 @@ gpointer launch_mplayer(gpointer data)
GFile *file;
#endif
+ gm_log_name_this_thread("lm");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "within launch_mplayer()");
+
player->seekable = FALSE;
player->has_chapters = FALSE;
player->video_present = FALSE;
@@ -1975,12 +2189,13 @@ gpointer launch_mplayer(gpointer data)
player->disable_xvmc = FALSE;
player->retry_on_full_cache = FALSE;
player->sub_visible = TRUE;
+ player->speed = 1.0;
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "locking thread_running");
g_mutex_lock(player->thread_running);
do {
- if (player->debug)
- printf("setting up mplayer\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "setting up mplayer");
list = player->subtitles;
while (list) {
@@ -2001,6 +2216,19 @@ gpointer launch_mplayer(gpointer data)
list = g_list_remove(list, track);
}
player->audio_tracks = NULL;
+ player->has_metadata = FALSE;
+ if (player->artist) {
+ g_free(player->artist);
+ player->artist = NULL;
+ }
+ if (player->title) {
+ g_free(player->title);
+ player->title = NULL;
+ }
+ if (player->album) {
+ g_free(player->album);
+ player->album = NULL;
+ }
argn = 0;
player->playback_error = NO_ERROR;
@@ -2177,7 +2405,6 @@ gpointer launch_mplayer(gpointer data)
argv[argn++] = g_strdup_printf("volume=%lf:0", player->volume_gain);
}
-
argv[argn++] = g_strdup_printf("-softvol");
}
@@ -2212,10 +2439,10 @@ gpointer launch_mplayer(gpointer data)
argv[argn++] = g_strdup_printf("-sub-fuzziness");
argv[argn++] = g_strdup_printf("%i", player->subtitle_fuzziness);
- // wait for the socket_id to be valid, but in plugin mode it may not so timeout
+ // wait upto 1 second for the socket_id to be valid, but in plugin mode it may not so timeout
i = 0;
- while (player->socket_id == 0 && (i++ < 10)) {
- g_usleep(100);
+ while (player->socket_id == 0 && (i++ < 100)) {
+ g_usleep(1000);
}
argv[argn++] = g_strdup_printf("-wid");
@@ -2427,27 +2654,23 @@ gpointer launch_mplayer(gpointer data)
}
argv[argn] = NULL;
- if (player->debug) {
- for (i = 0; i < argn; i++) {
- printf("%s ", argv[i]);
- }
- printf("\n");
- }
+ gchar *allargs = g_strjoinv(" ", argv);
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "%s", allargs);
+ g_free(allargs);
error = NULL;
player->std_in = -1;
player->std_out = -1;
player->std_err = -1;
- spawn = FALSE;
spawn =
g_spawn_async_with_pipes(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &pid,
&(player->std_in), &(player->std_out), &(player->std_err), &error);
- //if (player->debug)
- // printf("spawn = %i files in %i out %i err %i \n", spawn, player->std_in, player->std_out, player->std_err);
+
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "spawn = %s files in %i out %i err %i", gm_bool_to_string(spawn),
+ player->std_in, player->std_out, player->std_err);
if (error != NULL) {
- if (player->debug)
- printf("error code = %i - %s\n", error->code, error->message);
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "error code = %i - %s", error->code, error->message);
g_error_free(error);
error = NULL;
}
@@ -2460,8 +2683,8 @@ gpointer launch_mplayer(gpointer data)
}
if (spawn) {
- //if (player->debug)
- // printf("spawn succeeded, setup up channels\n");
+ gmtk_media_player_log_state(player, "launched");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "spawn succeeded, setup up channels");
player->player_state = PLAYER_STATE_RUNNING;
player->media_state = MEDIA_STATE_BUFFERING;
@@ -2503,11 +2726,13 @@ gpointer launch_mplayer(gpointer data)
#else
g_timeout_add(1000, thread_query, player);
#endif
- //if (player->debug)
- // printf("waiting for mplayer_complete_cond\n");
+
+ // /////////////////////////////////////////////////////////////////////
+ // Now this thread waits till somebody signals player->mplayer_complete_cond
+
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "waiting for mplayer_complete_cond");
g_cond_wait(player->mplayer_complete_cond, player->thread_running);
- //if (player->debug)
- // printf("mplayer_complete_cond was signalled\n");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "mplayer_complete_cond was signalled");
g_source_remove(player->watch_in_id);
g_source_remove(player->watch_err_id);
@@ -2578,10 +2803,10 @@ gpointer launch_mplayer(gpointer data)
break;
case ERROR_RETRY:
if (last_error == NO_ERROR) {
- last_error == ERROR_RETRY;
+ last_error = ERROR_RETRY;
} else {
- last_error == NO_ERROR;
- player->playback_error == NO_ERROR;
+ last_error = NO_ERROR;
+ player->playback_error = NO_ERROR;
}
break;
@@ -2593,18 +2818,35 @@ gpointer launch_mplayer(gpointer data)
break;
}
- //printf("playback error code is %i\n", player->playback_error);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "playback error code is %s",
+ playback_error_to_string(player->playback_error));
} while (player->playback_error != NO_ERROR);
- //if (player->debug)
- // printf("marking playback complete\n");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "marking playback complete");
player->player_state = PLAYER_STATE_DEAD;
player->media_state = MEDIA_STATE_UNKNOWN;
- g_mutex_unlock(player->thread_running);
player->mplayer_thread = NULL;
player->start_time = 0.0;
player->run_time = 0.0;
+ if (player->artist) {
+ g_free(player->artist);
+ player->artist = NULL;
+ }
+ if (player->title) {
+ g_free(player->title);
+ player->title = NULL;
+ }
+ if (player->album) {
+ g_free(player->album);
+ player->album = NULL;
+ }
+
+ gmtk_media_player_log_state(player, "finished");
+
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "unlocking thread_running");
+ g_mutex_unlock(player->thread_running);
+
if (player->restart) {
g_signal_emit_by_name(player, "restart-shutdown-complete", NULL);
} else {
@@ -2616,201 +2858,227 @@ gpointer launch_mplayer(gpointer data)
return NULL;
}
+static void finalize_mplayer(GmtkMediaPlayer * player)
+{
+ g_source_remove(player->watch_in_id);
+ g_source_remove(player->watch_in_hup_id);
+ g_source_remove(player->watch_err_id);
+ g_unlink(player->af_export_filename);
+ gmtk_media_player_log_state(player, "completed");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "signaling mplayer_complete_cond");
+ g_cond_signal(player->mplayer_complete_cond);
+}
+
+// this executes in the main thread
gboolean thread_complete(GIOChannel * source, GIOCondition condition, gpointer data)
{
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(data);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "thread_complete()");
player->player_state = PLAYER_STATE_DEAD;
player->media_state = MEDIA_STATE_UNKNOWN;
- g_source_remove(player->watch_in_id);
- g_source_remove(player->watch_err_id);
- g_cond_signal(player->mplayer_complete_cond);
- g_unlink(player->af_export_filename);
+ finalize_mplayer(player);
return FALSE;
}
+// this executes in the main thread
gboolean thread_reader_error(GIOChannel * source, GIOCondition condition, gpointer data)
{
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(data);
GString *mplayer_output;
GIOStatus status;
gchar *error_msg = NULL;
- GtkWidget *dialog;
+ //GtkWidget *dialog;
gchar *buf;
if (player == NULL) {
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "player is NULL");
+ finalize_mplayer(player);
return FALSE;
}
if (source == NULL) {
- //if (player->debug)
- // printf("source is null\n");
- g_source_remove(player->watch_in_id);
- g_source_remove(player->watch_in_hup_id);
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "source is null");
+ finalize_mplayer(player);
return FALSE;
}
if (player->player_state == PLAYER_STATE_DEAD) {
- //if (player->debug)
- // printf("player is dead\n");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "player is dead");
+ finalize_mplayer(player);
return FALSE;
}
mplayer_output = g_string_new("");
status = g_io_channel_read_line_string(source, mplayer_output, NULL, NULL);
+ if (status == G_IO_STATUS_ERROR) {
+ gm_logsp(player->debug, G_LOG_LEVEL_INFO, "GIO IO Error:", mplayer_output->str);
+ return TRUE;
+ } else {
+ if (g_strrstr(mplayer_output->str, "ANS") == NULL) {
+ gm_logsp(player->debug, G_LOG_LEVEL_INFO, "ERROR:", mplayer_output->str);
+ }
- if (player->debug) {
- if (g_strrstr(mplayer_output->str, "ANS") == NULL)
- printf("ERROR: %s", mplayer_output->str);
- }
-
- if (strstr(mplayer_output->str, "Couldn't open DVD device") != 0) {
- error_msg = g_strdup(mplayer_output->str);
- }
+ if (strstr(mplayer_output->str, "Couldn't open DVD device") != 0) {
+ error_msg = g_strdup(mplayer_output->str);
+ }
- if (strstr(mplayer_output->str, "X11 error") != 0) {
- create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
- }
+ if (strstr(mplayer_output->str, "X11 error") != 0) {
+ create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
+ }
- if (strstr(mplayer_output->str, "signal") != NULL) {
- if (strstr(mplayer_output->str, "decode") != NULL) {
+ if (strstr(mplayer_output->str, "signal") != NULL) {
+ if (strstr(mplayer_output->str, "decode") != NULL) {
+ create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
+ if (player->position == 0) {
+ player->playback_error = ERROR_RETRY;
+ }
+ } else if (strstr(mplayer_output->str, "filter video") != NULL) {
+ player->playback_error = ERROR_RETRY;
+ } else {
+ error_msg = g_strdup(mplayer_output->str);
+ }
+ }
+ if (strstr(mplayer_output->str, "Error when calling vdp_output_surface_create") != NULL) {
create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
if (player->position == 0) {
player->playback_error = ERROR_RETRY;
}
- } else {
- error_msg = g_strdup(mplayer_output->str);
}
- }
- if (strstr(mplayer_output->str, "Failed creating VDPAU decoder") != NULL) {
- if (player->enable_divx && (g_ascii_strncasecmp(player->vo, "vdpau", strlen("vdpau")) == 0))
- player->playback_error = ERROR_RETRY_WITHOUT_DIVX_VDPAU;
- }
+ if (strstr(mplayer_output->str, "Failed creating VDPAU decoder") != NULL) {
+ if (player->enable_divx && (g_ascii_strncasecmp(player->vo, "vdpau", strlen("vdpau")) == 0))
+ player->playback_error = ERROR_RETRY_WITHOUT_DIVX_VDPAU;
+ }
- if (strstr(mplayer_output->str, "decoding to PIX_FMT_NONE is not supported") != NULL) {
- if (player->enable_divx)
- player->playback_error = ERROR_RETRY_WITHOUT_HARDWARE_CODECS;
- }
+ if (strstr(mplayer_output->str, "decoding to PIX_FMT_NONE is not supported") != NULL) {
+ if (player->enable_divx)
+ player->playback_error = ERROR_RETRY_WITHOUT_HARDWARE_CODECS;
+ }
- if (strstr(mplayer_output->str, "The selected video_out device is incompatible with this codec") != NULL) {
- if (!player->disable_xvmc && (g_ascii_strncasecmp(player->vo, "xvmc", strlen("xvmc")) == 0))
- player->playback_error = ERROR_RETRY_WITHOUT_XVMC;
- }
+ if (strstr(mplayer_output->str, "The selected video_out device is incompatible with this codec") != NULL) {
+ if (!player->disable_xvmc && (g_ascii_strncasecmp(player->vo, "xvmc", strlen("xvmc")) == 0))
+ player->playback_error = ERROR_RETRY_WITHOUT_XVMC;
+ }
- if (strstr(mplayer_output->str, "[AO_ALSA] Playback open error: Device or resource busy") != NULL) {
- player->playback_error = ERROR_RETRY_ALSA_BUSY;
- }
+ if (strstr(mplayer_output->str, "[AO_ALSA] Playback open error: Device or resource busy") != NULL) {
+ player->playback_error = ERROR_RETRY_ALSA_BUSY;
+ }
- /*
- if (strstr(mplayer_output->str, "Error when calling vdp_output_surface_create") != NULL) {
- create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
- player->playback_error = ERROR_RETRY_VDPAU;
- write_to_mplayer(player, "quit\n");
- }
- */
+ /*
+ if (strstr(mplayer_output->str, "Error when calling vdp_output_surface_create") != NULL) {
+ create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
+ player->playback_error = ERROR_RETRY_VDPAU;
+ write_to_mplayer(player, "quit\n");
+ }
+ */
- if (strstr(mplayer_output->str, "Failed to open") != NULL) {
- if (strstr(mplayer_output->str, "LIRC") == NULL &&
- strstr(mplayer_output->str, "/dev/rtc") == NULL &&
- strstr(mplayer_output->str, "VDPAU") == NULL && strstr(mplayer_output->str, "registry file") == NULL) {
- if (strstr(mplayer_output->str, "<") == NULL && strstr(mplayer_output->str, ">") == NULL
- && player->type == TYPE_FILE) {
- error_msg =
- g_strdup_printf(g_dgettext(GETTEXT_PACKAGE, "Failed to open %s"),
- mplayer_output->str + strlen("Failed to open "));
- }
+ if (strstr(mplayer_output->str, "Failed to open") != NULL) {
+ if (strstr(mplayer_output->str, "LIRC") == NULL &&
+ strstr(mplayer_output->str, "/dev/rtc") == NULL &&
+ strstr(mplayer_output->str, "VDPAU") == NULL && strstr(mplayer_output->str, "registry file") == NULL) {
+ if (strstr(mplayer_output->str, "<") == NULL && strstr(mplayer_output->str, ">") == NULL
+ && player->type == TYPE_FILE) {
+ error_msg =
+ g_strdup_printf(g_dgettext(GETTEXT_PACKAGE, "Failed to open %s"),
+ mplayer_output->str + strlen("Failed to open "));
+ }
- if (strstr(mplayer_output->str, "mms://") != NULL && player->type == TYPE_NETWORK) {
- player->playback_error = ERROR_RETRY_WITH_MMSHTTP;
+ if (strstr(mplayer_output->str, "mms://") != NULL && player->type == TYPE_NETWORK) {
+ player->playback_error = ERROR_RETRY_WITH_MMSHTTP;
+ }
}
}
- }
- if (strstr(mplayer_output->str, "MPlayer interrupted by signal 13 in module: open_stream") != NULL
- && g_strrstr(player->uri, "mms://") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_MMSHTTP;
- }
+ if (strstr(mplayer_output->str, "MPlayer interrupted by signal 13 in module: open_stream") != NULL
+ && g_strrstr(player->uri, "mms://") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_MMSHTTP;
+ }
- if (strstr(mplayer_output->str, "No stream found to handle url mmshttp://") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_HTTP;
- }
+ if (strstr(mplayer_output->str, "No stream found to handle url mmshttp://") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_HTTP;
+ }
- if (strstr(mplayer_output->str, "Server returned 404:File Not Found") != NULL
- && g_strrstr(player->uri, "mmshttp://") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_HTTP;
- }
+ if (strstr(mplayer_output->str, "Server returned 404:File Not Found") != NULL
+ && g_strrstr(player->uri, "mmshttp://") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_HTTP;
+ }
- if (strstr(mplayer_output->str, "unknown ASF streaming type") != NULL
- && g_strrstr(player->uri, "mmshttp://") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_HTTP;
- }
+ if (strstr(mplayer_output->str, "unknown ASF streaming type") != NULL
+ && g_strrstr(player->uri, "mmshttp://") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_HTTP;
+ }
- if (strstr(mplayer_output->str, "Error while parsing chunk header") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_HTTP_AND_PLAYLIST;
- }
+ if (strstr(mplayer_output->str, "Error while parsing chunk header") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_HTTP_AND_PLAYLIST;
+ }
- if (strstr(mplayer_output->str, "Failed to initiate \"video/X-ASF-PF\" RTP subsession") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_PLAYLIST;
- }
+ if (strstr(mplayer_output->str, "Failed to initiate \"video/X-ASF-PF\" RTP subsession") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_PLAYLIST;
+ }
- if (strstr(mplayer_output->str, "playlist support will not be used") != NULL) {
- player->playback_error = ERROR_RETRY_WITH_PLAYLIST;
- }
+ if (strstr(mplayer_output->str, "playlist support will not be used") != NULL) {
+ player->playback_error = ERROR_RETRY_WITH_PLAYLIST;
+ }
- if (strstr(mplayer_output->str, "Compressed SWF format not supported") != NULL) {
- error_msg = g_strdup_printf(g_dgettext(GETTEXT_PACKAGE, "Compressed SWF format not supported"));
- }
+ if (strstr(mplayer_output->str, "Compressed SWF format not supported") != NULL) {
+ error_msg = g_strdup_printf(g_dgettext(GETTEXT_PACKAGE, "Compressed SWF format not supported"));
+ }
- if (strstr(mplayer_output->str, "moov atom not found") != NULL) {
- player->retry_on_full_cache = TRUE;
- create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
- }
+ if (strstr(mplayer_output->str, "moov atom not found") != NULL) {
+ player->retry_on_full_cache = TRUE;
+ create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
+ }
- if (strstr(mplayer_output->str, "MOV: missing header (moov/cmov) chunk") != NULL) {
- player->retry_on_full_cache = TRUE;
- create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
- }
+ if (strstr(mplayer_output->str, "MOV: missing header (moov/cmov) chunk") != NULL) {
+ player->retry_on_full_cache = TRUE;
+ create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
+ }
- if (strstr(mplayer_output->str, "Seek failed") != NULL) {
- write_to_mplayer(player, "quit\n");
- player->retry_on_full_cache = TRUE;
- create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
- }
+ if (strstr(mplayer_output->str, "Seek failed") != NULL) {
+ write_to_mplayer(player, "quit\n");
+ player->retry_on_full_cache = TRUE;
+ create_event_boolean(player, "attribute-changed", ATTRIBUTE_RETRY_ON_FULL_CACHE);
+ }
- if (strstr(mplayer_output->str, "Title: ") != 0) {
- buf = strstr(mplayer_output->str, "Title:");
- buf = strstr(mplayer_output->str, "Title: ") + strlen("Title: ");
- buf = g_strchomp(buf);
- if (player->title != NULL) {
- g_free(player->title);
- player->title = NULL;
+ if (strstr(mplayer_output->str, "Title: ") != 0) {
+ buf = strstr(mplayer_output->str, "Title:");
+ buf = strstr(mplayer_output->str, "Title: ") + strlen("Title: ");
+ buf = g_strchomp(buf);
+ if (player->title != NULL) {
+ g_free(player->title);
+ player->title = NULL;
+ }
+
+ player->title = g_locale_to_utf8(buf, -1, NULL, NULL, NULL);
+ if (player->title == NULL) {
+ player->title = g_strdup(buf);
+ gm_str_strip_unicode(player->title, strlen(player->title));
+ }
+ create_event_int(player, "attribute-changed", ATTRIBUTE_TITLE);
}
- player->title = g_locale_to_utf8(buf, -1, NULL, NULL, NULL);
- if (player->title == NULL) {
- player->title = g_strdup(buf);
- gm_str_strip_unicode(player->title, strlen(player->title));
+ if (error_msg != NULL && player->playback_error == NO_ERROR) {
+ create_event_string(player, "error-message", error_msg);
+ /*
+ dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE, "%s", error_msg);
+ gtk_window_set_title(GTK_WINDOW(dialog), g_dgettext(GETTEXT_PACKAGE, "GNOME MPlayer Error"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ */
+ g_free(error_msg);
+ error_msg = NULL;
}
- create_event_int(player, "attribute-changed", ATTRIBUTE_TITLE);
- }
- if (error_msg != NULL && player->playback_error == NO_ERROR) {
- dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE, "%s", error_msg);
- gtk_window_set_title(GTK_WINDOW(dialog), g_dgettext(GETTEXT_PACKAGE, "GNOME MPlayer Error"));
- gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(dialog);
- g_free(error_msg);
- error_msg = NULL;
}
-
g_string_free(mplayer_output, TRUE);
return TRUE;
}
+// this executes in the main thread
gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer data)
{
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(data);
@@ -2822,28 +3090,27 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
gfloat percent, oldposition;
gchar vm[10];
gint id;
- GtkAllocation allocation;
+ GtkAllocation allocation = { 0 };
GmtkMediaPlayerSubtitle *subtitle = NULL;
GmtkMediaPlayerAudioTrack *audio_track = NULL;
GList *iter;
GtkWidget *dialog;
if (player == NULL) {
- printf("player is NULL\n");
+ gm_log(player->debug, G_LOG_LEVEL_MESSAGE, "player is NULL");
+ finalize_mplayer(player);
return FALSE;
}
if (source == NULL) {
- if (player->debug)
- printf("source is null\n");
- g_source_remove(player->watch_in_id);
- g_source_remove(player->watch_in_hup_id);
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "source is null");
+ finalize_mplayer(player);
return FALSE;
}
if (player->player_state == PLAYER_STATE_DEAD) {
- if (player->debug)
- printf("player is dead\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "player is dead");
+ finalize_mplayer(player);
return FALSE;
}
@@ -2851,13 +3118,11 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
status = g_io_channel_read_line_string(source, mplayer_output, NULL, &error);
if (status == G_IO_STATUS_ERROR) {
- if (player->debug)
- printf("GIO IO Error: %s\n", mplayer_output->str);
+ gm_logsp(player->debug, G_LOG_LEVEL_INFO, "GIO IO Error:", mplayer_output->str);
return TRUE;
} else {
- if (player->debug) {
- if (g_strrstr(mplayer_output->str, "ANS") == NULL)
- printf("%s", mplayer_output->str);
+ if (g_strrstr(mplayer_output->str, "ANS") == NULL) {
+ gm_logs(player->debug, G_LOG_LEVEL_INFO, mplayer_output->str);
}
if (strstr(mplayer_output->str, "Cache fill") != 0) {
@@ -2875,6 +3140,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
if (strstr(mplayer_output->str, "VO:") != NULL) {
buf = strstr(mplayer_output->str, "VO:");
sscanf(buf, "VO: [%[^]]] %ix%i => %ix%i", vm, &w, &h, &(player->video_width), &(player->video_height));
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "%ix%i => %ix%i", w, h, player->video_width, player->video_height);
gmtk_get_allocation(GTK_WIDGET(player), &allocation);
player->media_state = MEDIA_STATE_PLAY;
if (player->restart) {
@@ -2886,6 +3152,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
create_event_allocation(player, "size_allocate", &allocation);
player->video_present = TRUE;
write_to_mplayer(player, "get_property sub_source\n");
+ write_to_mplayer(player, "get_property sub_visibility\n");
create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
create_event_int(player, "attribute-changed", ATTRIBUTE_VIDEO_PRESENT);
create_event_int(player, "subtitles-changed", g_list_length(player->subtitles));
@@ -2895,16 +3162,18 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
create_event_int(player, "attribute-changed", ATTRIBUTE_AF_EXPORT_FILENAME);
create_event_int(player, "attribute-changed", ATTRIBUTE_AUDIO_TRACK);
create_event_int(player, "attribute-changed", ATTRIBUTE_SUBTITLE);
+ gmtk_media_player_log_state(player, "media_loaded");
}
if (strstr(mplayer_output->str, "Video: no video") != NULL) {
+ gm_log(player->debug, G_LOG_LEVEL_MESSAGE, "Running in audio only mode");
player->video_width = 0;
player->video_height = 0;
gmtk_get_allocation(GTK_WIDGET(player), &allocation);
+ player->media_state = MEDIA_STATE_PLAY;
if (player->restart) {
g_signal_emit_by_name(player, "restart-complete", NULL);
} else {
- player->media_state = MEDIA_STATE_PLAY;
create_event_int(player, "media-state-changed", player->media_state);
player->video_present = FALSE;
create_event_int(player, "attribute-changed", ATTRIBUTE_SIZE);
@@ -2916,6 +3185,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
create_event_int(player, "attribute-changed", ATTRIBUTE_AF_EXPORT_FILENAME);
create_event_int(player, "attribute-changed", ATTRIBUTE_AUDIO_TRACK);
create_event_int(player, "attribute-changed", ATTRIBUTE_SUBTITLE);
+ gmtk_media_player_log_state(player, "media_loaded");
}
if (strstr(mplayer_output->str, "ANS_TIME_POSITION") != 0) {
@@ -2993,6 +3263,21 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
create_event_int(player, "attribute-changed", ATTRIBUTE_SUBTITLE);
}
+ if (strstr(mplayer_output->str, "ANS_sub_visibility") != 0) {
+ if (strstr(mplayer_output->str, "ANS_sub_visibility=yes") != 0) {
+ player->sub_visible = TRUE;
+ } else {
+ player->sub_visible = FALSE;
+ }
+ create_event_int(player, "attribute-changed", ATTRIBUTE_SUB_VISIBLE);
+ }
+
+ if (strstr(mplayer_output->str, "ANS_speed") != 0) {
+ buf = strstr(mplayer_output->str, "ANS_speed");
+ sscanf(buf, "ANS_speed=%lf", &player->speed);
+ gm_log(player->debug, G_LOG_LEVEL_MESSAGE, "new speed is %lf", player->speed);
+ create_event_int(player, "attribute-changed", ATTRIBUTE_SPEED_SET);
+ }
if (strstr(mplayer_output->str, "DVDNAV_TITLE_IS_MENU") != 0) {
player->title_is_menu = TRUE;
@@ -3189,8 +3474,8 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->video_format = g_strdup(buf);
create_event_int(player, "attribute-changed", ATTRIBUTE_VIDEO_FORMAT);
if (player->video_width == 0 && player->video_height == 0) {
- if (player->debug)
- printf("Setting to minimum size so that mplayer has something to draw to\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO,
+ "Setting to minimum size so that mplayer has something to draw to");
allocation.width = 32;
allocation.height = 16;
create_event_allocation(player, "size_allocate", &allocation);
@@ -3287,6 +3572,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->title = g_strdup(buf);
gm_str_strip_unicode(player->title, strlen(player->title));
}
+ player->has_metadata = TRUE;
create_event_int(player, "attribute-changed", ATTRIBUTE_TITLE);
}
@@ -3304,6 +3590,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->artist = g_strdup(buf);
gm_str_strip_unicode(player->artist, strlen(player->artist));
}
+ player->has_metadata = TRUE;
create_event_int(player, "attribute-changed", ATTRIBUTE_ARTIST);
}
@@ -3321,6 +3608,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->title = g_strdup(buf);
gm_str_strip_unicode(player->title, strlen(player->title));
}
+ player->has_metadata = TRUE;
create_event_int(player, "attribute-changed", ATTRIBUTE_TITLE);
}
@@ -3338,6 +3626,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->artist = g_strdup(buf);
gm_str_strip_unicode(player->artist, strlen(player->artist));
}
+ player->has_metadata = TRUE;
create_event_int(player, "attribute-changed", ATTRIBUTE_ARTIST);
}
@@ -3355,6 +3644,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
player->album = g_strdup(buf);
gm_str_strip_unicode(player->album, strlen(player->album));
}
+ player->has_metadata = TRUE;
create_event_int(player, "attribute-changed", ATTRIBUTE_ALBUM);
}
@@ -3425,7 +3715,7 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
}
}
- if (strstr(mplayer_output->str, "ID_FILENAME") != NULL) {
+ if (strstr(mplayer_output->str, "ID_FILENAME") != NULL && player->has_metadata == FALSE) {
buf = g_strrstr(mplayer_output->str, ".");
if (buf)
buf[0] = '\0';
@@ -3463,26 +3753,34 @@ gboolean thread_reader(GIOChannel * source, GIOCondition condition, gpointer dat
message = NULL;
}
+ if (strstr(mplayer_output->str, "ID_SIGNAL") != 0) {
+ if (player->position == 0) {
+ player->playback_error = ERROR_RETRY;
+ }
+ }
+
}
g_string_free(mplayer_output, TRUE);
return TRUE;
}
+// this executes in the main thread
gboolean thread_query(gpointer data)
{
GmtkMediaPlayer *player = GMTK_MEDIA_PLAYER(data);
gint written;
- //printf("in thread_query, data = %p\n", data);
+ // gm_log(player->debug, G_LOG_LEVEL_DEBUG, "in thread_query, data = %p", data);
if (player == NULL) {
- //printf("thread_query called with player == NULL\n");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "thread_query called with player == NULL");
+ finalize_mplayer(player);
return FALSE;
}
if (player->player_state == PLAYER_STATE_RUNNING) {
if (player->media_state == MEDIA_STATE_PLAY) {
- //printf("writing\n");
+ // gm_log(player->debug, G_LOG_LEVEL_DEBUG, "writing");
if (player->use_mplayer2) {
written = write(player->std_in, "get_time_pos\n", strlen("get_time_pos\n"));
} else {
@@ -3490,11 +3788,10 @@ gboolean thread_query(gpointer data)
write(player->std_in, "pausing_keep_force get_time_pos\n",
strlen("pausing_keep_force get_time_pos\n"));
}
- //printf("written = %i\n", written);
+ // gm_log(player->debug, G_LOG_LEVEL_DEBUG, "written = %i", written);
if (written == -1) {
//return TRUE;
- if (player->debug)
- printf("thread_query, write failed\n");
+ gm_log(player->debug, G_LOG_LEVEL_INFO, "thread_query, write failed");
return FALSE;
} else {
return TRUE;
@@ -3503,8 +3800,8 @@ gboolean thread_query(gpointer data)
return TRUE;
}
} else {
- //if (player->debug)
- // printf("thread_query, player is dead\n");
+ gm_log(player->debug, G_LOG_LEVEL_DEBUG, "thread_query, player is dead");
+ finalize_mplayer(player);
return FALSE;
}
}
@@ -3515,13 +3812,14 @@ gboolean write_to_mplayer(GmtkMediaPlayer * player, const gchar * cmd)
gsize bytes_written;
gchar *pkf_cmd;
- //printf("write to mplayer = %s\n", cmd);
+ /* ending \n is part of cmd */
+ gm_logsp(player->debug, G_LOG_LEVEL_DEBUG, "write to mplayer =", cmd);
if (player->channel_in) {
if (player->use_mplayer2) {
pkf_cmd = g_strdup(cmd);
} else {
- if (g_strncasecmp(cmd, "pause", strlen("pause")) == 0) {
+ if (g_ascii_strncasecmp(cmd, "pause", strlen("pause")) == 0) {
pkf_cmd = g_strdup(cmd);
} else {
pkf_cmd = g_strdup_printf("pausing_keep_force %s", cmd);
@@ -3581,7 +3879,7 @@ gboolean detect_mplayer_features(GmtkMediaPlayer * player)
}
if (error != NULL) {
- printf("Error when running: %s\n", error->message);
+ gm_log(player->debug, G_LOG_LEVEL_MESSAGE, "Error when running: %s", error->message);
g_error_free(error);
error = NULL;
if (out != NULL) {
@@ -3613,7 +3911,8 @@ gboolean detect_mplayer_features(GmtkMediaPlayer * player)
player->features_detected = TRUE;
if (!ret) {
- printf(g_dgettext(GETTEXT_PACKAGE, "You might want to consider upgrading mplayer to a newer version\n"));
+ gm_log(player->debug, G_LOG_LEVEL_MESSAGE,
+ g_dgettext(GETTEXT_PACKAGE, "You might want to consider upgrading mplayer to a newer version"));
}
return ret;
}
diff --git a/src/gmtk_media_player.h b/src/gmtk_media_player.h
index 960d4f2..5073d0b 100644
--- a/src/gmtk_media_player.h
+++ b/src/gmtk_media_player.h
@@ -93,7 +93,8 @@ typedef enum {
ASPECT_4X3,
ASPECT_16X9,
ASPECT_16X10,
- ASPECT_WINDOW
+ ASPECT_WINDOW,
+ ASPECT_ANAMORPHIC // 2.39:1
} GmtkMediaPlayerAspectRatio;
typedef enum {
@@ -207,14 +208,17 @@ typedef enum {
COMMAND_SWITCH_AUDIO,
COMMAND_FRAME_STEP,
COMMAND_SUBTITLE_SELECT,
- COMMAND_SWITCH_FRAME_DROP
+ COMMAND_SWITCH_FRAME_DROP,
+ COMMAND_SUBTITLE_STEP_FORWARD,
+ COMMAND_SUBTITLE_STEP_BACKWARD
} GmtkMediaPlayerCommand;
typedef enum {
EVENT_TYPE_INT,
EVENT_TYPE_DOUBLE,
EVENT_TYPE_BOOLEAN,
- EVENT_TYPE_ALLOCATION
+ EVENT_TYPE_ALLOCATION,
+ EVENT_TYPE_STRING
} GmtkMediaPlayerEventType;
typedef struct _GmtkMediaPlayer GmtkMediaPlayer;
@@ -244,6 +248,7 @@ typedef struct _GmtkMediaPlayerEvent {
gdouble event_data_double;
gboolean event_data_boolean;
GtkAllocation *event_allocation;
+ gchar *event_data_string;
} GmtkMediaPlayerEvent;
struct _GmtkMediaPlayer {
@@ -385,6 +390,12 @@ struct _GmtkMediaPlayer {
GmtkMediaPlayerMediaState restart_state;
GdkColor *default_background;
+
+ gboolean has_metadata;
+ gdouble speed;
+
+ gboolean disposed;
+ GMutex *player_lock;
};
struct _GmtkMediaPlayerClass {
@@ -398,6 +409,7 @@ struct _GmtkMediaPlayerClass {
void (*audio_tracks_changed) (GmtkMediaPlayer * player);
void (*restart_shutdown_complete) (GmtkMediaPlayer * player);
void (*restart_complete) (GmtkMediaPlayer * player);
+ void (*error_message) (GmtkMediaPlayer * player);
};
GType gmtk_media_player_get_type(void);
@@ -407,7 +419,7 @@ void gmtk_media_player_set_uri(GmtkMediaPlayer * player, const gchar * uri);
const gchar *gmtk_media_player_get_uri(GmtkMediaPlayer * player);
void gmtk_media_player_set_state(GmtkMediaPlayer * player, const GmtkMediaPlayerMediaState new_state);
-GmtkMediaPlayerMediaState gmtk_media_player_get_state(GmtkMediaPlayer * player);
+GmtkMediaPlayerMediaState gmtk_media_player_get_media_state(GmtkMediaPlayer * player);
void gmtk_media_player_set_attribute_boolean(GmtkMediaPlayer * player,
GmtkMediaPlayerMediaAttributes attribute, gboolean value);
@@ -449,6 +461,7 @@ void gmtk_media_player_send_command(GmtkMediaPlayer * player, GmtkMediaPlayerCom
void gmtk_media_player_set_aspect(GmtkMediaPlayer * player, GmtkMediaPlayerAspectRatio aspect);
GmtkMediaPlayerAspectRatio gmtk_media_player_get_aspect(GmtkMediaPlayer * player);
+const gchar *gmtk_media_state_to_string(const GmtkMediaPlayerMediaState media_state);
G_END_DECLS
diff --git a/src/gmtk_media_tracker.c b/src/gmtk_media_tracker.c
index 2950b2d..cda8783 100644
--- a/src/gmtk_media_tracker.c
+++ b/src/gmtk_media_tracker.c
@@ -24,6 +24,7 @@
#include "gmtk_media_tracker.h"
#include "gmtk_common.h"
+#include "gm_log.h"
G_DEFINE_TYPE(GmtkMediaTracker, gmtk_media_tracker, GTK_TYPE_VBOX);
static GObjectClass *parent_class = NULL;
@@ -81,7 +82,11 @@ static void gmtk_media_tracker_init(GmtkMediaTracker * tracker)
gtk_widget_push_composite_child();
+#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 2
+ tracker->scale = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 1, 0.001);
+#else
tracker->scale = gtk_hscale_new_with_range(0, 1, 0.001);
+#endif
gtk_scale_set_draw_value(GTK_SCALE(tracker->scale), FALSE);
#ifdef GTK2_20_ENABLED
gtk_widget_set_can_focus(tracker->scale, FALSE);
@@ -107,9 +112,12 @@ static void gmtk_media_tracker_init(GmtkMediaTracker * tracker)
g_signal_connect_swapped(G_OBJECT(tracker->scale), "motion-notify-event",
G_CALLBACK(gmtk_media_tracker_motion_notify), tracker);
-
+#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 2
+ tracker->hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_set_homogeneous(GTK_BOX(tracker->hbox), FALSE);
+#else
tracker->hbox = gtk_hbox_new(0, FALSE);
-
+#endif
tracker->message = gtk_label_new("");
gtk_label_set_markup(GTK_LABEL(tracker->message), "<small> </small>");
gtk_misc_set_alignment(GTK_MISC(tracker->message), 0.0, 0.0);
@@ -159,7 +167,7 @@ static gboolean gmtk_media_tracker_button_press(GtkWidget * tracker, GdkEventBut
static gboolean gmtk_media_tracker_button_release(GtkWidget * tracker, GdkEventButton * event)
{
gdouble position;
- gdouble difference;
+ //gdouble difference;
GtkAllocation alloc;
gmtk_get_allocation(tracker, &alloc);
@@ -197,7 +205,7 @@ static gboolean gmtk_media_tracker_motion_notify(GtkWidget * tracker, GdkEventMo
gtk_range_set_value(GTK_RANGE(GMTK_MEDIA_TRACKER(tracker)->scale), position);
g_signal_emit_by_name(tracker, "value-changed", (gint) (100 * position));
difference = (GMTK_MEDIA_TRACKER(tracker)->length * position) - GMTK_MEDIA_TRACKER(tracker)->position;
- //printf("difference = %lf \n", difference);
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "difference = %lf", difference);
//if (ABS(difference) > 15)
// g_signal_emit_by_name(tracker, "difference-changed", difference);
diff --git a/src/gmtk_output_combo_box.c b/src/gmtk_output_combo_box.c
index d508076..d425a59 100644
--- a/src/gmtk_output_combo_box.c
+++ b/src/gmtk_output_combo_box.c
@@ -24,6 +24,7 @@
#include "gmtk_output_combo_box.h"
#include "gmtk_common.h"
+#include "gm_log.h"
static GObjectClass *parent_class = NULL;
@@ -53,7 +54,7 @@ gint sort_iter_compare_func(GtkTreeModel * model, GtkTreeIter * a, GtkTreeIter *
break;
default:
- printf("unimplemented sort routine\n");
+ gm_log(FALSE, G_LOG_LEVEL_MESSAGE, "unimplemented sort routine");
}
return ret;
@@ -85,9 +86,10 @@ void pa_sink_cb(pa_context * c, const pa_sink_info * i, int eol, gpointer data)
void context_state_callback(pa_context * context, gpointer data)
{
- //printf("context state callback\n");
int i;
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "context state callback");
+
switch (pa_context_get_state(context)) {
case PA_CONTEXT_READY:{
for (i = 0; i < 255; i++) {
@@ -108,11 +110,11 @@ G_DEFINE_TYPE(GmtkOutputComboBox, gmtk_output_combo_box, GTK_TYPE_COMBO_BOX);
static void gmtk_output_combo_box_class_init(GmtkOutputComboBoxClass * class)
{
- GtkWidgetClass *widget_class;
- GObjectClass *object_class;
+ //GtkWidgetClass *widget_class;
+ //GObjectClass *object_class;
- object_class = G_OBJECT_CLASS(class);
- widget_class = GTK_WIDGET_CLASS(class);
+ //object_class = G_OBJECT_CLASS(class);
+ //widget_class = GTK_WIDGET_CLASS(class);
parent_class = g_type_class_peek_parent(class);
}
@@ -179,7 +181,7 @@ static void gmtk_output_combo_box_init(GmtkOutputComboBox * output)
card = -1;
while (snd_card_next(&card) >= 0) {
- //printf("card = %i\n", card);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "card = %i", card);
if (card < 0)
break;
if (name != NULL) {
@@ -188,7 +190,7 @@ static void gmtk_output_combo_box_init(GmtkOutputComboBox * output)
}
name = malloc(32);
sprintf(name, "hw:%i", card);
- //printf("name = %s\n",name);
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "name = %s", name);
if ((err = snd_ctl_open(&handle, name, 0)) < 0) {
continue;
@@ -248,6 +250,7 @@ static void gmtk_output_combo_box_init(GmtkOutputComboBox * output)
pa_context_set_state_callback(context, context_state_callback, output);
}
// make sure the pulse events are done before we exit this function
+ gm_log(FALSE, G_LOG_LEVEL_DEBUG, "waiting for all events to drain");
while (gtk_events_pending())
gtk_main_iteration();
@@ -265,6 +268,8 @@ static void gmtk_output_combo_box_init(GmtkOutputComboBox * output)
}
+/* unused
+
static void gmtk_output_combo_box_dispose(GObject * object)
{
GmtkOutputComboBox *output = GMTK_OUTPUT_COMBO_BOX(object);
@@ -275,7 +280,7 @@ static void gmtk_output_combo_box_dispose(GObject * object)
G_OBJECT_CLASS(parent_class)->dispose(object);
}
-
+*/
GtkWidget *gmtk_output_combo_box_new()
@@ -315,7 +320,7 @@ const gchar *gmtk_output_combo_box_get_active_description(GmtkOutputComboBox * o
GmtkOutputType gmtk_output_combo_box_get_active_type(GmtkOutputComboBox * output)
{
GtkTreeIter iter;
- GmtkOutputType type;
+ GmtkOutputType type = OUTPUT_TYPE_SOFTVOL;
if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(output), &iter)) {
gtk_tree_model_get(GTK_TREE_MODEL(output->list), &iter, OUTPUT_TYPE_COLUMN, &type, -1);
diff --git a/src/libgmlib.la b/src/libgmlib.la
new file mode 100644
index 0000000..9c9d3a0
--- /dev/null
+++ b/src/libgmlib.la
@@ -0,0 +1,41 @@
+# libgmlib.la - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libgmlib.so.1'
+
+# Names of this library.
+library_names='libgmlib.so.1.0.7 libgmlib.so.1 libgmlib.so'
+
+# The name of the static archive.
+old_library='libgmlib.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=' -pthread'
+
+# Libraries that this one depends upon.
+dependency_libs=' -lgconf-2 -lgio-2.0 -lgobject-2.0 -lasound -lpulse-mainloop-glib -lpulse -lglib-2.0 -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libgmlib.
+current=1
+age=0
+revision=7
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/lib64'
--
gmtk packaging
More information about the pkg-multimedia-commits
mailing list