[SCM] ardour Debian packaging branch, master, updated. upstream/2.8-73-gb177712
freee at users.alioth.debian.org
freee at users.alioth.debian.org
Wed Jul 22 16:54:48 UTC 2009
The following commit has been merged in the master branch:
commit 7f9c676c2b0ba9586fd2d1c59d7aa2484efb30b6
Author: Free Ekanayaka <free at 64studio.com>
Date: Sun Apr 19 18:21:32 2009 +0200
Imported Upstream version 2.8
diff --git a/SConstruct b/SConstruct
index e7df3c7..c276f98 100644
--- a/SConstruct
+++ b/SConstruct
@@ -21,7 +21,7 @@ import SCons.Node.FS
SConsignFile()
EnsureSConsVersion(0, 96)
-ardour_version = '2.7.1'
+ardour_version = '2.8'
subst_dict = { }
@@ -32,7 +32,7 @@ subst_dict = { }
opts = Options('scache.conf')
opts.AddOptions(
('ARCH', 'Set architecture-specific compilation flags by hand (all flags as 1 argument)',''),
- ('WINDOWS_KEY', 'Set X Modifier (Mod1,Mod2,Mod3,Mod4,Mod5) for "Windows" key', 'Mod4'),
+ ('WINDOWS_KEY', 'Set X Modifier (Mod1,Mod2,Mod3,Mod4,Mod5) for "Windows" key', 'Mod4><Super'),
BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0),
@@ -59,8 +59,8 @@ opts.AddOptions(
BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1),
- BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1)
-
+ BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1),
+ BoolOption('AUSTATE', "Build with support for AU settings & presets saving/loading", 0)
)
#----------------------------------------------------------------------
@@ -394,28 +394,6 @@ tarball_bld = Builder (action = tarballer,
env.Append (BUILDERS = {'Distribute' : dist_bld})
env.Append (BUILDERS = {'Tarball' : tarball_bld})
-#
-# Make sure they know what they are doing
-#
-
-if env['VST']:
- if os.path.isfile('.personal_use_only'):
- print "Enabling VST support. Note that distributing a VST-enabled ardour\nis a violation of several different licences.\nBuild with VST=false if you intend to distribute ardour to others."
- else:
- sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ")
- answer = sys.stdin.readline ()
- answer = answer.rstrip().strip()
- if answer == "yes" or answer == "y":
- fh = open('.personal_use_only', 'w')
- fh.close()
- print "OK, VST support will be enabled"
- else:
- print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
- sys.exit (-1);
-else:
- if os.path.isfile('.personal_use_only'):
- os.remove('.personal_use_only')
-
####################
# push environment
####################
@@ -423,9 +401,11 @@ else:
def pushEnvironment(context):
if os.environ.has_key('PATH'):
context.Append(PATH = os.environ['PATH'])
+ context['ENV']['PATH'] = os.environ['PATH']
if os.environ.has_key('PKG_CONFIG_PATH'):
context.Append(PKG_CONFIG_PATH = os.environ['PKG_CONFIG_PATH'])
+ context['ENV']['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_PATH']
if os.environ.has_key('CC'):
context['CC'] = os.environ['CC']
@@ -737,6 +717,14 @@ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_6
if ((env['DIST_TARGET'] == 'i686') or (env['DIST_TARGET'] == 'x86_64')) and build_host_supports_sse:
opt_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
+
+ if (env['VST']):
+ #
+ # everything must be 32 bit for VST (we're not replicating Cakewalk's hack, yet ...)
+ #
+ opt_flags.extend(["-m32"])
+ debug_flags.extend(["-m32"])
+
# end of processor-specific section
# optimization section
@@ -748,7 +736,7 @@ if env['FPU_OPTIMIZATION']:
elif env['DIST_TARGET'] == 'i686' or env['DIST_TARGET'] == 'x86_64':
opt_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
- if env['DIST_TARGET'] == 'x86_64':
+ if env['DIST_TARGET'] == 'x86_64' and not env['VST']:
opt_flags.append ("-DUSE_X86_64_ASM")
debug_flags.append ("-DUSE_X86_64_ASM")
if build_host_supports_sse != 1:
@@ -763,6 +751,17 @@ else:
env['LIBDIR']='lib'
#
+# no VST on x86_64
+#
+
+if env['DIST_TARGET'] == 'x86_64' and env['VST']:
+ print "\n\n=================================================="
+ print "You cannot use VST plugins with a 64 bit host. Please run scons with VST=0"
+ print "\nIt is theoretically possible to build a 32 bit host on a 64 bit system."
+ print "However, this is tricky and not recommended for beginners."
+ sys.exit (-1)
+
+#
# a single way to test if we're on OS X
#
@@ -851,10 +850,7 @@ def prep_libcheck(topenv, libinfo):
GTKROOT = os.path.expanduser ('~/gtk/inst')
libinfo.Append(CPPPATH= GTKROOT + "/include", LIBPATH= GTKROOT + "/lib")
libinfo.Append(CXXFLAGS="-I" + GTKROOT + "/include", LINKFLAGS="-L" + GTKROOT + "/lib")
-
-
-
-
+
prep_libcheck(env, env)
diff --git a/gtk2_ardour/SAE-de-keypad.bindings.in b/gtk2_ardour/SAE-de-keypad.bindings.in
index e8e3e1b..dad2ead 100644
--- a/gtk2_ardour/SAE-de-keypad.bindings.in
+++ b/gtk2_ardour/SAE-de-keypad.bindings.in
@@ -8,8 +8,9 @@
(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space")
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period")
(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space")
+(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space")
-(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,")
+(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma")
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less")
@@ -82,7 +83,7 @@
(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d")
(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d")
(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f")
-(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%WINDOW%>f")
+(gtk_accel_path "<Actions>/Editor/toggle-rhythm-ferret" "<%WINDOW%>f")
; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g")
; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g")
(gtk_accel_path "<Actions>/Editor/nudge-backward" "g")
@@ -121,6 +122,7 @@
(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace")
(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete")
+(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
@@ -131,6 +133,7 @@
(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
diff --git a/gtk2_ardour/SAE-de-nokeypad.bindings.in b/gtk2_ardour/SAE-de-nokeypad.bindings.in
index 27c824e..bcd7f6d 100644
--- a/gtk2_ardour/SAE-de-nokeypad.bindings.in
+++ b/gtk2_ardour/SAE-de-nokeypad.bindings.in
@@ -8,8 +8,9 @@
(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space")
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period")
(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space")
+(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space")
-(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>,")
+(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma")
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less")
@@ -82,7 +83,7 @@
(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d")
(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d")
(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f")
-(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%SECONDARY%>f")
+(gtk_accel_path "<Actions>/Editor/toggle-rhythm-ferret" "<%SECONDARY%>f")
; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g")
; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g")
(gtk_accel_path "<Actions>/Editor/nudge-backward" "g")
@@ -120,6 +121,7 @@
(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace")
(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>BackSpace")
+(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
@@ -130,6 +132,7 @@
(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
diff --git a/gtk2_ardour/SAE-us-keypad.bindings.in b/gtk2_ardour/SAE-us-keypad.bindings.in
index e4d9814..88085b0 100644
--- a/gtk2_ardour/SAE-us-keypad.bindings.in
+++ b/gtk2_ardour/SAE-us-keypad.bindings.in
@@ -8,7 +8,8 @@
(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space")
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period")
(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space")
-
+(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space")
+(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma")
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-start" "<%LEVEL4%><%SECONDARY%>less")
@@ -61,7 +62,6 @@
(gtk_accel_path "<Actions>/Editor/insert-region" "i")
(gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i")
(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i")
-(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%SECONDARY%>o")
(gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o")
(gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o")
(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o")
@@ -81,7 +81,7 @@
(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d")
(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d")
(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f")
-(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%WINDOW%>f")
+(gtk_accel_path "<Actions>/Editor/toggle-rhythm-ferret" "<%WINDOW%>f")
; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g")
; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g")
(gtk_accel_path "<Actions>/Editor/nudge-backward" "g")
@@ -120,6 +120,7 @@
(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace")
(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>Delete")
+(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
@@ -130,6 +131,7 @@
(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
diff --git a/gtk2_ardour/SAE-us-nokeypad.bindings.in b/gtk2_ardour/SAE-us-nokeypad.bindings.in
index a84ee2b..33fe2f0 100644
--- a/gtk2_ardour/SAE-us-nokeypad.bindings.in
+++ b/gtk2_ardour/SAE-us-nokeypad.bindings.in
@@ -8,7 +8,8 @@
(gtk_accel_path "<Actions>/Transport/ToggleRoll" "space")
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>period")
(gtk_accel_path "<Actions>/Transport/record-roll" "<%PRIMARY%>space")
-
+(gtk_accel_path "<Actions>/Editor/play-from-edit-point-and-return" "<%LEVEL4%>space")
+(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%PRIMARY%>comma")
(gtk_accel_path "<Actions>/Editor/align-regions-end" "<%PRIMARY%><%SECONDARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-end-relative" "<%PRIMARY%>less")
(gtk_accel_path "<Actions>/Editor/align-regions-start" "<%LEVEL4%><%SECONDARY%>less")
@@ -61,7 +62,6 @@
(gtk_accel_path "<Actions>/Editor/insert-region" "i")
(gtk_accel_path "<Actions>/Editor/addExistingAudioFiles" "<%PRIMARY%>i")
(gtk_accel_path "<Actions>/Editor/invert-selection" "<%TERTIARY%>i")
-(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<%SECONDARY%>o")
(gtk_accel_path "<Actions>/Main/Open" "<%PRIMARY%>o")
(gtk_accel_path "<Actions>/Main/Recent" "<%PRIMARY%><%TERTIARY%>o")
(gtk_accel_path "<Actions>/Editor/naturalize-region" "<%LEVEL4%>o")
@@ -81,7 +81,7 @@
(gtk_accel_path "<Actions>/Editor/duplicate-region" "<%PRIMARY%>d")
(gtk_accel_path "<Actions>/Editor/multi-duplicate-region" "<%PRIMARY%><%TERTIARY%>d")
(gtk_accel_path "<Actions>/Editor/toggle-follow-playhead" "f")
-(gtk_accel_path "<Actions>/Common/toggle-rhythm-ferret" "<%SECONDARY%>f")
+(gtk_accel_path "<Actions>/Editor/toggle-rhythm-ferret" "<%SECONDARY%>f")
; (gtk_accel_path "<Actions>/Editor/set-edit-point" "g")
; (gtk_accel_path "<Actions>/MouseMode/set-mouse-mode-gain" "g")
(gtk_accel_path "<Actions>/Editor/nudge-backward" "g")
@@ -119,6 +119,7 @@
(gtk_accel_path "<Actions>/Editor/editor-delete" "BackSpace")
(gtk_accel_path "<Actions>/Editor/remove-last-capture" "<%PRIMARY%>BackSpace")
+(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-backward-to-grid" "<%TERTIARY%><%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-previous-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
@@ -129,6 +130,7 @@
(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow")
(gtk_accel_path "<Actions>/Editor/playhead-forward-to-grid" "<%TERTIARY%><%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/edit-cursor-to-next-region-sync" "<%TERTIARY%><%SECONDARY%>leftarrow")
diff --git a/gtk2_ardour/SConscript b/gtk2_ardour/SConscript
index 7e3bbe2..2e7beab 100644
--- a/gtk2_ardour/SConscript
+++ b/gtk2_ardour/SConscript
@@ -52,8 +52,8 @@ gtkardour.Merge ([
libraries['sigc2'],
libraries['sndfile-ardour'],
libraries['sysmidi'],
- libraries['vamp'],
libraries['vamphost'],
+ libraries['vamp'],
libraries['xml'],
libraries['xslt']
])
diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc
index a0e97c9..098fc28 100644
--- a/gtk2_ardour/about.cc
+++ b/gtk2_ardour/about.cc
@@ -169,7 +169,14 @@ static const char* translators[] = {
N_("Portuguese:\n\tRui Nuno Capela <rncbc at rncbc.org>\n"),
N_("Brazilian Portuguese:\n\tAlexander da Franca Fernandes <alexander at nautae.eti.br>\
\n\tChris Ross <chris at tebibyte.org>\n"),
- N_("Spanish:\n\t Alex Krohn <alexkrohn at fastmail.fm>\n"),
+ N_("Spanish:\n\tAlex Krohn <alexkrohn at fastmail.fm>\
+\n\tAngel Bidinost <angelbidinost at hotmail.com>\
+\n\tPablo Enrici <pabloenrici at gmail.com>\
+\n\tPablo Fernández <pablo.fbus at gmail.com>\
+\n\tGiovanni Martínez <giovannisirias at gmail.com>\
+\n\tDavid Täht <d at teklibre.com>\
+\n\tOscar Valladarez <dulcevendetta at hotmail.com>\
+\n\tDaniel Vidal <danielvidalchornet at gmail.com>\n"),
N_("Russian:\n\t Igor Blinov <pitstop at nm.ru>\n"),
N_("Greek:\n\t Klearchos Gourgourinis <muadib at in.gr>\n"),
N_("Swedish:\n\t Petter Sundlöf <petter.sundlof at gmail.com>\n"),
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index d5e207a..4bd7f10 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -1,19 +1,19 @@
/*
- Copyright (C) 2003 Paul Davis
+ Copyright (C) 2003 Paul Davis
- 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+ 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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
- This program 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.
+ This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
@@ -22,10 +22,12 @@
#include <sigc++/bind.h>
#include <gtkmm/stock.h>
+#include <gtkmm/separator.h>
#include <pbd/error.h>
#include <pbd/convert.h>
#include <gtkmm2ext/utils.h>
#include <ardour/profile.h>
+#include <ardour/session.h>
#include "utils.h"
#include "add_route_dialog.h"
@@ -36,6 +38,7 @@ using namespace Gtkmm2ext;
using namespace sigc;
using namespace std;
using namespace PBD;
+using namespace ARDOUR;
static const char* channel_setup_names[] = {
N_("Mono"),
@@ -62,6 +65,7 @@ AddRouteDialog::AddRouteDialog ()
: Dialog (_("ardour: add track/bus")),
track_button (_("Tracks")),
bus_button (_("Busses")),
+ template_button (_("Using this template:")),
routes_adjustment (1, 1, 128, 1, 4),
routes_spinner (routes_adjustment)
{
@@ -89,7 +93,7 @@ AddRouteDialog::AddRouteDialog ()
}
}
}
-
+
set_name ("AddRouteDialog");
set_wmclass (X_("ardour_add_track_bus"), "Ardour");
set_position (Gtk::WIN_POS_MOUSE);
@@ -98,64 +102,110 @@ AddRouteDialog::AddRouteDialog ()
name_template_entry.set_name ("AddRouteDialogNameTemplateEntry");
track_button.set_name ("AddRouteDialogRadioButton");
bus_button.set_name ("AddRouteDialogRadioButton");
+ template_button.set_name ("AddRouteDialogRadioButton");
routes_spinner.set_name ("AddRouteDialogSpinner");
RadioButton::Group g = track_button.get_group();
bus_button.set_group (g);
+ template_button.set_group (g);
track_button.set_active (true);
- HBox *hbrb = manage (new HBox);
+ /* add */
- hbrb->set_spacing (6);
- hbrb->pack_start (routes_spinner, true, false, 5);
- hbrb->pack_start (track_button, true, false, 5);
- hbrb->pack_start (bus_button, true, false, 5);
+ HBox* hbox1 = manage (new HBox);
+ hbox1->set_spacing (6);
+ Label* label1 = manage (new Label (_("Add this many:")));
+ hbox1->pack_start (*label1, PACK_SHRINK);
+ hbox1->pack_start (routes_spinner, PACK_SHRINK);
- aframe.set_label (_("Add"));
- aframe.set_shadow_type (SHADOW_IN);
- aframe.add (*hbrb);
+ HBox* hbox2 = manage (new HBox);
+ hbox2->set_spacing (6);
+ hbox2->set_border_width (6);
+ hbox2->pack_start (*hbox1, PACK_EXPAND_WIDGET);
+
+ /* templates */
+
+ hbox3 = new HBox;
+ hbox3->set_spacing (6);
+ hbox3->set_border_width (6);
+ hbox3->pack_start (template_button, PACK_SHRINK);
+
+ hbox9 = new HBox;
+ hbox9->set_spacing (6);
+ hbox9->set_border_width (6);
+ hbox9->pack_start (track_template_combo, PACK_EXPAND_WIDGET);
+
+ /* separator */
+
+ hbox4 = new HBox;
+ hbox4->set_spacing (6);
+ Label* label2 = manage (new Label (_("OR")));
+ hbox4->pack_start (*(manage (new HSeparator)), PACK_EXPAND_WIDGET);
+ hbox4->pack_start (*label2, false, false);
+ hbox4->pack_start (*(manage (new HSeparator)), PACK_EXPAND_WIDGET);
+
+ /* we need more control over the visibility of these boxes */
+ /*
+ hbox3->set_no_show_all (true);
+ hbox9->set_no_show_all (true);
+ hbox4->set_no_show_all (true);
+ */
+ /* track/bus choice & modes */
+
+ HBox* hbox5 = manage (new HBox);
+ hbox5->set_spacing (6);
+ hbox5->pack_start (track_button, PACK_EXPAND_PADDING);
+ hbox5->pack_start (bus_button, PACK_EXPAND_PADDING);
- set_popdown_strings (channel_combo, channel_combo_strings);
- set_popdown_strings (track_mode_combo, track_mode_strings);
- channel_combo.set_active_text (channel_combo_strings.front());
channel_combo.set_name (X_("ChannelCountSelector"));
+ track_mode_combo.set_name (X_("ChannelCountSelector"));
+
+ set_popdown_strings (channel_combo, channel_combo_strings, true);
+ set_popdown_strings (track_mode_combo, track_mode_strings, true);
+
+ channel_combo.set_active_text (channel_combo_strings.front());
+ track_mode_combo.set_active_text (track_mode_strings.front());
track_button.signal_clicked().connect (mem_fun (*this, &AddRouteDialog::track_type_chosen));
bus_button.signal_clicked().connect (mem_fun (*this, &AddRouteDialog::track_type_chosen));
+ template_button.signal_clicked().connect (mem_fun (*this, &AddRouteDialog::track_type_chosen));
- track_mode_combo.set_active_text (track_mode_strings.front());
- track_mode_combo.set_name (X_("ChannelCountSelector"));
-#if NOT_USEFUL_YET
- HBox *hbnt = manage (new HBox);
+ VBox* vbox1 = manage (new VBox);
+ vbox1->set_spacing (6);
+ vbox1->set_border_width (6);
- hbnt->pack_start (*(manage (new Label (_("Name (template)")))), false, false);
- hbnt->pack_start (name_template_entry, true, true);
-#endif
- VBox *dvbox = manage (new VBox);
- HBox *dhbox = manage (new HBox);
+ Frame* frame1 = manage (new Frame (_("Channel Configuration")));
+ frame1->add (channel_combo);
+ Frame* frame2 = manage (new Frame (_("Track Mode")));
+ frame2->add (track_mode_combo);
- ccframe.set_label (_("Channel Configuration"));
- ccframe.set_shadow_type (SHADOW_IN);
+ vbox1->pack_start (*hbox5, PACK_SHRINK);
+ vbox1->pack_start (*frame1, PACK_SHRINK);
- dvbox->pack_start (channel_combo, true, false, 5);
if (!ARDOUR::Profile->get_sae()) {
- dvbox->pack_start (track_mode_combo, true, false, 5);
+ vbox1->pack_start (*frame2, PACK_SHRINK);
}
- dhbox->pack_start (*dvbox, true, false, 5);
- ccframe.add (*dhbox);
+ get_vbox()->set_spacing (6);
+ get_vbox()->set_border_width (6);
- get_vbox()->pack_start (aframe, true, false, 10);
- get_vbox()->pack_start (ccframe, true, false);
-#if NOT_USEFUL_YET
- get_vbox()->pack_start (*hbnt, false, false);
-#endif
+ get_vbox()->pack_start (*hbox2, PACK_SHRINK);
+ get_vbox()->pack_start (*hbox3, PACK_SHRINK);
+ get_vbox()->pack_start (*hbox9, PACK_SHRINK);
+ get_vbox()->pack_start (*hbox4, PACK_SHRINK);
+ get_vbox()->pack_start (*vbox1, PACK_SHRINK);
get_vbox()->show_all ();
+ /* track template info will be managed whenever
+ this dialog is shown, via ::on_show()
+ */
+
add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (Stock::ADD, RESPONSE_ACCEPT);
+
+ track_type_chosen ();
}
AddRouteDialog::~AddRouteDialog ()
@@ -165,10 +215,18 @@ AddRouteDialog::~AddRouteDialog ()
void
AddRouteDialog::track_type_chosen ()
{
- if (track_button.get_active()) {
- track_mode_combo.set_sensitive (true);
- } else {
+ if (template_button.get_active()) {
track_mode_combo.set_sensitive (false);
+ channel_combo.set_sensitive (false);
+ track_template_combo.set_sensitive (true);
+ } else {
+ track_template_combo.set_sensitive (false);
+ channel_combo.set_sensitive (true);
+ if (track_button.get_active()) {
+ track_mode_combo.set_sensitive (true);
+ } else {
+ track_mode_combo.set_sensitive (false);
+ }
}
}
@@ -228,3 +286,59 @@ AddRouteDialog::channels ()
return 0;
}
+string
+AddRouteDialog::track_template ()
+{
+ if (!template_button.get_active()) {
+ return string ();
+ }
+
+ string str = track_template_combo.get_active_text();
+
+ for (vector<Session::RouteTemplateInfo>::iterator x = route_templates.begin(); x != route_templates.end(); ++x) {
+ if ((*x).name == str) {
+ return (*x).path;
+ }
+ }
+
+ return string();
+}
+
+void
+AddRouteDialog::on_show ()
+{
+ refill_track_templates ();
+ Dialog::on_show ();
+}
+
+void
+AddRouteDialog::refill_track_templates ()
+{
+ route_templates.clear ();
+ Session::get_route_templates (route_templates);
+
+ if (!route_templates.empty()) {
+ vector<string> v;
+ for (vector<Session::RouteTemplateInfo>::iterator x = route_templates.begin(); x != route_templates.end(); ++x) {
+ v.push_back ((*x).name);
+ }
+ set_popdown_strings (track_template_combo, v);
+ track_template_combo.set_active_text (v.front());
+ }
+
+ reset_template_option_visibility ();
+}
+
+void
+AddRouteDialog::reset_template_option_visibility ()
+{
+ if (route_templates.empty()) {
+ hbox3->hide ();
+ hbox9->hide ();
+ hbox4->hide ();
+ } else {
+ hbox3->show_all ();
+ hbox9->show_all ();
+ hbox4->show_all ();
+ }
+}
diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h
index 53f4805..5da6e70 100644
--- a/gtk2_ardour/add_route_dialog.h
+++ b/gtk2_ardour/add_route_dialog.h
@@ -32,6 +32,7 @@
#include <gtkmm/comboboxtext.h>
#include <ardour/types.h>
+#include <ardour/session.h>
class AddRouteDialog : public Gtk::Dialog
{
@@ -40,23 +41,37 @@ class AddRouteDialog : public Gtk::Dialog
~AddRouteDialog ();
bool track ();
- std::string name_template ();
int channels ();
int count ();
+
+ std::string name_template ();
+ std::string track_template ();
+
ARDOUR::TrackMode mode();
private:
Gtk::Entry name_template_entry;
Gtk::RadioButton track_button;
Gtk::RadioButton bus_button;
+ Gtk::RadioButton template_button;
Gtk::Adjustment routes_adjustment;
Gtk::SpinButton routes_spinner;
Gtk::ComboBoxText channel_combo;
Gtk::ComboBoxText track_mode_combo;
- Gtk::Frame aframe;
- Gtk::Frame ccframe;
+ Gtk::ComboBoxText track_template_combo;
+ std::vector<ARDOUR::Session::RouteTemplateInfo> route_templates;
+
void track_type_chosen ();
+ void refill_track_templates ();
+
+ Gtk::HBox* hbox3;
+ Gtk::HBox* hbox9;
+ Gtk::HBox* hbox4;
+
+ void reset_template_option_visibility ();
+
+ void on_show ();
};
#endif /* __gtk_ardour_add_route_dialog_h__ */
diff --git a/gtk2_ardour/ardour-sae.menus b/gtk2_ardour/ardour-sae.menus
index 23cf943..3e2e8b6 100644
--- a/gtk2_ardour/ardour-sae.menus
+++ b/gtk2_ardour/ardour-sae.menus
@@ -75,6 +75,8 @@
<separator/>
<menuitem action='playhead-to-next-region-boundary'/>
<menuitem action='playhead-to-previous-region-boundary'/>
+ <menuitem action='playhead-to-next-region-boundary-noselection'/>
+ <menuitem action='playhead-to-previous-region-boundary-noselection'/>
<menuitem action='playhead-to-next-region-sync'/>
<menuitem action='playhead-to-previous-region-sync'/>
<separator/>
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in
index 3f00dbc..f692061 100644
--- a/gtk2_ardour/ardour.menus.in
+++ b/gtk2_ardour/ardour.menus.in
@@ -77,6 +77,8 @@
<separator/>
<menuitem action='playhead-to-next-region-boundary'/>
<menuitem action='playhead-to-previous-region-boundary'/>
+ <menuitem action='playhead-to-next-region-boundary-noselection'/>
+ <menuitem action='playhead-to-previous-region-boundary-noselection'/>
<menuitem action='playhead-to-next-region-sync'/>
<menuitem action='playhead-to-previous-region-sync'/>
<separator/>
diff --git a/gtk2_ardour/ardour_image_compositor_socket.h b/gtk2_ardour/ardour_image_compositor_socket.h
index 6ed92ef..03f0086 100644
--- a/gtk2_ardour/ardour_image_compositor_socket.h
+++ b/gtk2_ardour/ardour_image_compositor_socket.h
@@ -46,6 +46,8 @@ namespace ardourvis
/** the number of characters used to for the size of the image data message */
const int32_t IMAGE_DATA_MESSAGE_SIZE_CHARS = 32 ;
+ /** the number of characters in a return/reply message */
+ const int32_t RETURN_MSG_SIZE = 3 ;
// ------------------------------------------------------------------------- //
// Main Actions
// we join the action chars with items to create the message
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 3208880..411f8d4 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -58,6 +58,7 @@
#include <ardour/audioengine.h>
#include <ardour/playlist.h>
#include <ardour/utils.h>
+#include <ardour/plugin.h>
#include <ardour/audio_diskstream.h>
#include <ardour/audiofilesource.h>
#include <ardour/recent_sessions.h>
@@ -225,6 +226,8 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[])
ARDOUR::Diskstream::DiskOverrun.connect (mem_fun(*this, &ARDOUR_UI::disk_overrun_handler));
ARDOUR::Diskstream::DiskUnderrun.connect (mem_fun(*this, &ARDOUR_UI::disk_underrun_handler));
+ ARDOUR::Plugin::PresetFileExists.connect (mem_fun(*this, &ARDOUR_UI::preset_file_exists_handler));
+
/* handle dialog requests */
ARDOUR::Session::Dialog.connect (mem_fun(*this, &ARDOUR_UI::session_dialog));
@@ -2853,6 +2856,13 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
return;
}
+ string template_path = add_route_dialog->track_template();
+
+ if (!template_path.empty()) {
+ session->new_route_from_template (count, template_path);
+ return;
+ }
+
uint32_t input_chan = add_route_dialog->channels ();
uint32_t output_chan;
string name_template = add_route_dialog->name_template ();
@@ -2961,6 +2971,45 @@ ARDOUR_UI::xrun_handler(nframes_t where)
}
}
+bool
+ARDOUR_UI::preset_file_exists_handler ()
+{
+ /* if driven from another thread, say "do not overwrite" and show the user nothing.
+ */
+
+ if (!Gtkmm2ext::UI::instance()->caller_is_ui_thread()) { \
+ return false;
+ }
+
+ HBox* hbox = new HBox();
+ Image* image = new Image (Stock::DIALOG_QUESTION, ICON_SIZE_DIALOG);
+ Gtk::Dialog dialog (_("Preset Exists"), true, false);
+ Label message (_("\
+A preset with this name already exists for this plugin.\n\
+\n\
+What you would like to do?\n"));
+ image->set_alignment(ALIGN_CENTER, ALIGN_TOP);
+ hbox->pack_start (*image, PACK_EXPAND_WIDGET, 12);
+ hbox->pack_end (message, PACK_EXPAND_PADDING, 12);
+ dialog.get_vbox()->pack_start(*hbox, PACK_EXPAND_PADDING, 6);
+ dialog.add_button (_("Overwrite the existing preset"), RESPONSE_ACCEPT);
+ dialog.add_button (_("Leave the existing preset alone"), RESPONSE_REJECT);
+ dialog.set_default_response (RESPONSE_ACCEPT);
+ dialog.set_position (WIN_POS_MOUSE);
+ dialog.set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); // need to make it float above the preset name dialog
+
+ message.show();
+ image->show();
+ hbox->show();
+
+ switch (dialog.run ()) {
+ case RESPONSE_ACCEPT:
+ return true;
+ default:
+ return false;
+ }
+}
+
void
ARDOUR_UI::disk_overrun_handler ()
{
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 204e52c..a0c84a1 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -659,6 +659,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
void disk_speed_dialog_gone (int ignored_response, Gtk::MessageDialog*);
void disk_overrun_handler ();
void disk_underrun_handler ();
+
+ bool preset_file_exists_handler ();
void session_dialog (std::string);
int pending_state_dialog ();
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 20bc625..6ff37bc 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -370,16 +370,17 @@ ARDOUR_UI::setup_transport ()
speed_display_box.add (speed_display_label);
speed_display_box.set_name (X_("ShuttleDisplay"));
+ set_size_request_to_display_given_text (speed_display_label, X_("> 24.0"), 2, 2);
shuttle_units_button.set_name (X_("ShuttleButton"));
shuttle_units_button.signal_clicked().connect (mem_fun(*this, &ARDOUR_UI::shuttle_unit_clicked));
- shuttle_style_button.set_name (X_("ShuttleButton"));
+ shuttle_style_button.set_name (X_("ShuttleStyleButton"));
vector<string> shuttle_strings;
shuttle_strings.push_back (_("sprung"));
shuttle_strings.push_back (_("wheel"));
- set_popdown_strings (shuttle_style_button, shuttle_strings);
+ set_popdown_strings (shuttle_style_button, shuttle_strings, true);
shuttle_style_button.signal_changed().connect (mem_fun (*this, &ARDOUR_UI::shuttle_style_changed));
Frame* sdframe = manage (new Frame);
@@ -389,8 +390,9 @@ ARDOUR_UI::setup_transport ()
mtc_port_changed ();
sync_option_combo.signal_changed().connect (mem_fun (*this, &ARDOUR_UI::sync_option_changed));
- const guint32 FUDGE = 25; // Combo's are stupid - they steal space from the entry for the button
- set_size_request_to_display_given_text (sync_option_combo, X_("Igternal"), 2+FUDGE, 10);
+ // XXX HOW TO USE set_popdown_strings() and combo_fudge with this when we don't know
+ // the real strings till later?
+ set_size_request_to_display_given_text (sync_option_combo, X_("Igternal"), 4+COMBO_FUDGE, 10);
shbox->pack_start (*sdframe, false, false);
shbox->pack_start (shuttle_units_button, true, true);
@@ -771,15 +773,33 @@ ARDOUR_UI::use_shuttle_fract (bool force)
last_shuttle_request = now;
- bool neg = (shuttle_fract < 0.0);
+ if (Config->get_shuttle_units() == Semitones) {
- double fract = 1 - sqrt (1 - (shuttle_fract * shuttle_fract)); // Formula A1
+ const double step = 1.0 / 24.0; // range is 24 semitones up & down
+ double semitones;
+ double speed;
- if (neg) {
- fract = -fract;
+ semitones = round (shuttle_fract / step);
+ speed = pow (2.0, (semitones / 12.0));
+
+ session->request_transport_speed (speed);
+
+ } else {
+
+ bool neg;
+ double fract;
+
+ neg = (shuttle_fract < 0.0);
+
+ fract = 1 - sqrt (1 - (shuttle_fract * shuttle_fract)); // Formula A1
+
+ if (neg) {
+ fract = -fract;
+ }
+
+ session->request_transport_speed (shuttle_max_speed * fract);
}
- session->request_transport_speed (shuttle_max_speed * fract); // Formula A2
shuttle_box.queue_draw ();
}
@@ -850,10 +870,11 @@ ARDOUR_UI::update_speed_display ()
if (Config->get_shuttle_units() == Percentage) {
snprintf (buf, sizeof (buf), "%.2f", x);
} else {
+
if (x < 0) {
- snprintf (buf, sizeof (buf), "< %.1f", 12.0 * fast_log2 (-x));
+ snprintf (buf, sizeof (buf), "< %d", (int) round (12.0 * fast_log2 (-x)));
} else {
- snprintf (buf, sizeof (buf), "> %.1f", 12.0 * fast_log2 (x));
+ snprintf (buf, sizeof (buf), "> %d", (int) round (12.0 * fast_log2 (x)));
}
}
speed_display_label.set_text (buf);
@@ -878,8 +899,6 @@ ARDOUR_UI::editor_realized ()
Config->map_parameters (mem_fun (*this, &ARDOUR_UI::parameter_changed));
set_size_request_to_display_given_text (speed_display_box, _("-0.55"), 2, 2);
- const guint32 FUDGE = 25; // Combo's are stupid - they steal space from the entry for the button
- set_size_request_to_display_given_text (shuttle_style_button, _("sprung"), 2+FUDGE, 10);
reset_dpi();
}
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index 14158ab..2916257 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -203,7 +203,7 @@ ARDOUR_UI::install_actions ()
ActionManager::register_action (common_actions, X_("goto-editor"), _("Show Editor"), mem_fun(*this, &ARDOUR_UI::goto_editor_window));
ActionManager::register_action (common_actions, X_("goto-mixer"), _("Show Mixer"), mem_fun(*this, &ARDOUR_UI::goto_mixer_window));
- ActionManager::register_action (common_actions, X_("toggle-editor-mixer-on-top"), _("Toggle Editor Mixer on Top"), mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer_on_top));
+ ActionManager::register_action (common_actions, X_("toggle-editor-mixer-on-top"), _("Toggle Editor or Mixer on Top"), mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer_on_top));
ActionManager::register_toggle_action (common_actions, X_("ToggleOptionsEditor"), _("Preferences"), mem_fun(*this, &ARDOUR_UI::toggle_options_window));
act = ActionManager::register_toggle_action (common_actions, X_("ToggleInspector"), _("Track/Bus Inspector"), mem_fun(*this, &ARDOUR_UI::toggle_route_params_window));
ActionManager::session_sensitive_actions.push_back (act);
diff --git a/gtk2_ardour/au_pluginui.mm b/gtk2_ardour/au_pluginui.mm
index a46021f..205364b 100644
--- a/gtk2_ardour/au_pluginui.mm
+++ b/gtk2_ardour/au_pluginui.mm
@@ -67,7 +67,8 @@ AUPluginUI::AUPluginUI (boost::shared_ptr<PluginInsert> insert)
HBox* smaller_hbox = manage (new HBox);
- smaller_hbox->pack_start (preset_label, false, false, 10);
+ smaller_hbox->set_spacing (6);
+ smaller_hbox->pack_start (preset_label, false, false, 4);
smaller_hbox->pack_start (preset_combo, false, false);
smaller_hbox->pack_start (save_button, false, false);
smaller_hbox->pack_start (automation_mode_label, false, false);
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index 21a7a2f..bf9bd15 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -846,13 +846,29 @@ AutomationLine::line_drag (uint32_t i1, uint32_t i2, float fraction, bool with_p
line_drag_cp1 = i1;
line_drag_cp2 = i2;
+ //check if one of the control points on the line is in a selected range
+ bool range_found = false;
ControlPoint *cp;
-
for (uint32_t i = i1 ; i <= i2; i++) {
cp = nth (i);
- modify_view_point (*cp, trackview.editor.unit_to_frame (cp->get_x()), ((_height - cp->get_y()) /_height) + ydelta, with_push);
+ if ( cp->selected )
+ range_found = true;
}
-
+
+ if (range_found) {
+ for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
+ if ( (*i)->selected ) {
+ modify_view_point (*(*i), trackview.editor.unit_to_frame ((*i)->get_x()), ((_height - (*i)->get_y()) /_height) + ydelta, with_push);
+ }
+ }
+ } else {
+ ControlPoint *cp;
+ for (uint32_t i = i1 ; i <= i2; i++) {
+ cp = nth (i);
+ modify_view_point (*cp, trackview.editor.unit_to_frame (cp->get_x()), ((_height - cp->get_y()) /_height) + ydelta, with_push);
+ }
+ }
+
if (line_points.size() > 1) {
line->property_points() = line_points;
}
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc
index 99b11c5..b57a8cc 100644
--- a/gtk2_ardour/crossfade_edit.cc
+++ b/gtk2_ardour/crossfade_edit.cc
@@ -857,9 +857,9 @@ CrossfadeEditor::build_presets ()
fade_in_presets = new Presets;
fade_out_presets = new Presets;
- /* FADE OUT */
+ /* FADE IN */
- p = new Preset ("Linear (-6dB)", "crossfade_in_dipped");
+ p = new Preset ("Linear (-6dB)", "crossfade-in-linear");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.000000, 0.000000));
p->push_back (PresetPoint (0.166667, 0.166366));
@@ -870,7 +870,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1.000000, 1.000000));
fade_in_presets->push_back (p);
- p = new Preset ("S(1)-curve", "crossfade_in_default");
+ p = new Preset ("S(1)-curve", "crossfade-in-S1");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.1, 0.01));
p->push_back (PresetPoint (0.2, 0.03));
@@ -879,7 +879,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
- p = new Preset ("S(2)-curve", "crossfade_in_default");
+ p = new Preset ("S(2)-curve", "crossfade-in-S2");
p->push_back (PresetPoint (0.0, 0.0));
p->push_back (PresetPoint (0.055, 0.222));
p->push_back (PresetPoint (0.163, 0.35));
@@ -888,7 +888,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1.0, 1.0));
fade_in_presets->push_back (p);
- p = new Preset ("Constant Power (-3dB)", "crossfade_in_constant");
+ p = new Preset ("Constant Power (-3dB)", "crossfade-in-constant-power");
p->push_back (PresetPoint (0.000000, 0.000000));
p->push_back (PresetPoint (0.166667, 0.282192));
@@ -901,20 +901,8 @@ CrossfadeEditor::build_presets ()
fade_in_presets->push_back (p);
if (!Profile->get_sae()) {
- // p = new Preset ("hiin.xpm");
- p = new Preset ("Long cut", "crossfade_in_fast-cut");
- p->push_back (PresetPoint (0, 0));
- p->push_back (PresetPoint (0.0207373, 0.197222));
- p->push_back (PresetPoint (0.0645161, 0.525));
- p->push_back (PresetPoint (0.152074, 0.802778));
- p->push_back (PresetPoint (0.276498, 0.919444));
- p->push_back (PresetPoint (0.481567, 0.980556));
- p->push_back (PresetPoint (0.767281, 1));
- p->push_back (PresetPoint (1, 1));
- fade_in_presets->push_back (p);
-
- // p = new Preset ("loin.xpm");
- p = new Preset ("Short cut", "crossfade_in_transition");
+
+ p = new Preset ("Short cut", "crossfade-in-short-cut");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.389401, 0.0333333));
p->push_back (PresetPoint (0.629032, 0.0861111));
@@ -924,9 +912,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
-
- // p = new Preset ("regin2.xpm");
- p = new Preset ("Slow cut", "crossfade_in_slow-cut");
+ p = new Preset ("Slow cut", "crossfade-in-slow-cut");
p->push_back (PresetPoint (0, 0));
p->push_back (PresetPoint (0.304147, 0.0694444));
p->push_back (PresetPoint (0.529954, 0.152778));
@@ -935,12 +921,33 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (0.919355, 0.730556));
p->push_back (PresetPoint (1, 1));
fade_in_presets->push_back (p);
+
+ p = new Preset ("Fast cut", "crossfade-in-fast-cut");
+ p->push_back (PresetPoint (0, 0));
+ p->push_back (PresetPoint (0.0737327, 0.308333));
+ p->push_back (PresetPoint (0.246544, 0.658333));
+ p->push_back (PresetPoint (0.470046, 0.886111));
+ p->push_back (PresetPoint (0.652074, 0.972222));
+ p->push_back (PresetPoint (0.771889, 0.988889));
+ p->push_back (PresetPoint (1, 1));
+ fade_in_presets->push_back (p);
+
+ p = new Preset ("Long cut", "crossfade-in-long-cut");
+ p->push_back (PresetPoint (0, 0));
+ p->push_back (PresetPoint (0.0207373, 0.197222));
+ p->push_back (PresetPoint (0.0645161, 0.525));
+ p->push_back (PresetPoint (0.152074, 0.802778));
+ p->push_back (PresetPoint (0.276498, 0.919444));
+ p->push_back (PresetPoint (0.481567, 0.980556));
+ p->push_back (PresetPoint (0.767281, 1));
+ p->push_back (PresetPoint (1, 1));
+ fade_in_presets->push_back (p);
}
/* FADE OUT */
// p = new Preset ("regout.xpm");
- p = new Preset ("Linear (-6dB cut)", "crossfade_out_dipped");
+ p = new Preset ("Linear (-6dB cut)", "crossfade-out-linear");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.000000, 1.000000));
p->push_back (PresetPoint (0.166667, 0.833033));
@@ -951,7 +958,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1.000000, 0.000000));
fade_out_presets->push_back (p);
- p = new Preset ("S(1)-Curve", "crossfade_out_default");
+ p = new Preset ("S(1)-Curve", "crossfade-out-S1");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.1, 0.99));
p->push_back (PresetPoint (0.2, 0.97));
@@ -960,7 +967,7 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- p = new Preset ("S(2)-Curve", "crossfade_out_default");
+ p = new Preset ("S(2)-Curve", "crossfade-out-S2");
p->push_back (PresetPoint (0.0, 1.0));
p->push_back (PresetPoint (0.163, 0.678));
p->push_back (PresetPoint (0.055, 0.783));
@@ -970,7 +977,7 @@ CrossfadeEditor::build_presets ()
fade_out_presets->push_back (p);
// p = new Preset ("linout.xpm");
- p = new Preset ("Constant Power (-3dB cut)", "crossfade_out_constant");
+ p = new Preset ("Constant Power (-3dB cut)", "crossfade-out-constant-power");
p->push_back (PresetPoint (0.000000, 1.000000));
p->push_back (PresetPoint (0.166667, 0.948859));
p->push_back (PresetPoint (0.333333, 0.851507));
@@ -982,7 +989,7 @@ CrossfadeEditor::build_presets ()
if (!Profile->get_sae()) {
// p = new Preset ("hiout.xpm");
- p = new Preset ("Slow end/cut", "crossfade_out_fast-cut");
+ p = new Preset ("Short cut", "crossfade-out-short-cut");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.305556, 1));
p->push_back (PresetPoint (0.548611, 0.991736));
@@ -992,19 +999,17 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- // p = new Preset ("loout.xpm");
- p = new Preset ("Fast start/cut", "crossfade_out_transition");
+ p = new Preset ("Slow cut", "crossfade-out-slow-cut");
p->push_back (PresetPoint (0, 1));
- p->push_back (PresetPoint (0.023041, 0.697222));
- p->push_back (PresetPoint (0.0553, 0.483333));
- p->push_back (PresetPoint (0.170507, 0.233333));
- p->push_back (PresetPoint (0.370968, 0.0861111));
- p->push_back (PresetPoint (0.610599, 0.0333333));
+ p->push_back (PresetPoint (0.228111, 0.988889));
+ p->push_back (PresetPoint (0.347926, 0.972222));
+ p->push_back (PresetPoint (0.529954, 0.886111));
+ p->push_back (PresetPoint (0.753456, 0.658333));
+ p->push_back (PresetPoint (0.9262673, 0.308333));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
- // p = new Preset ("regout2.xpm");
- p = new Preset ("Slow Fade", "crossfade_out_slow-fade");
+ p = new Preset ("Fast cut", "crossfade-out-fast-cut");
p->push_back (PresetPoint (0, 1));
p->push_back (PresetPoint (0.080645, 0.730556));
p->push_back (PresetPoint (0.277778, 0.289256));
@@ -1012,6 +1017,18 @@ CrossfadeEditor::build_presets ()
p->push_back (PresetPoint (0.695853, 0.0694444));
p->push_back (PresetPoint (1, 0));
fade_out_presets->push_back (p);
+
+ // p = new Preset ("loout.xpm");
+ p = new Preset ("Long cut", "crossfade-out-long-cut");
+ p->push_back (PresetPoint (0, 1));
+ p->push_back (PresetPoint (0.023041, 0.697222));
+ p->push_back (PresetPoint (0.0553, 0.483333));
+ p->push_back (PresetPoint (0.170507, 0.233333));
+ p->push_back (PresetPoint (0.370968, 0.0861111));
+ p->push_back (PresetPoint (0.610599, 0.0333333));
+ p->push_back (PresetPoint (1, 0));
+ fade_out_presets->push_back (p);
+
}
}
diff --git a/gtk2_ardour/curvetest.cc b/gtk2_ardour/curvetest.cc
index 63804bd..a2cc764 100644
--- a/gtk2_ardour/curvetest.cc
+++ b/gtk2_ardour/curvetest.cc
@@ -1,3 +1,4 @@
+
/*
Copyright (C) 2000-2007 Paul Davis
@@ -18,10 +19,13 @@
*/
#include <iostream>
+#include <iomanip>
#include <fstream>
#include <cfloat>
#include <unistd.h>
+#include <pbd/id.h>
+
#include <ardour/curve.h>
using namespace std;
@@ -31,6 +35,10 @@ using namespace PBD;
int
curvetest (string filename)
{
+ // needed to initialize ID objects/counter used
+ // by Curve et al.
+ PBD::ID::init ();
+
ifstream in (filename.c_str());
stringstream line;
Curve c (-1.0, +1.0, 0, true);
@@ -64,7 +72,7 @@ curvetest (string filename)
c.get_vector (minx, maxx, foo, 1024);
for (int i = 0; i < 1024; ++i) {
- cout << minx + (((double) i / 1024.0) * (maxx - minx)) << ' ' << foo[i] << endl;
+ cout << setw(20) << setprecision(20) << minx + (((double) i / 1024.0) * (maxx - minx)) << ' ' << foo[i] << endl;
}
return 0;
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index eee60e0..d8902f8 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -855,6 +855,10 @@ Editor::catch_vanishing_regionview (RegionView *rv)
audioregionview by itself.
*/
+ if (rv->get_canvas_group() == drag_info.item) {
+ end_grab (drag_info.item, 0);
+ }
+
if (clicked_regionview == rv) {
clicked_regionview = 0;
}
@@ -2077,8 +2081,10 @@ Editor::add_selection_context_items (Menu_Helpers::MenuList& items)
items.push_back (MenuElem (_("Duplicate range"), bind (mem_fun(*this, &Editor::duplicate_dialog), false)));
items.push_back (MenuElem (_("Create chunk from range"), mem_fun(*this, &Editor::create_named_selection)));
items.push_back (SeparatorElem());
- items.push_back (MenuElem (_("Consolidate range"), bind (mem_fun(*this, &Editor::bounce_range_selection), true)));
- items.push_back (MenuElem (_("Bounce range to region list"), bind (mem_fun(*this, &Editor::bounce_range_selection), false)));
+ items.push_back (MenuElem (_("Consolidate range"), bind (mem_fun(*this, &Editor::bounce_range_selection), true, false)));
+ items.push_back (MenuElem (_("Consolidate range with processing"), bind (mem_fun(*this, &Editor::bounce_range_selection), true, true)));
+ items.push_back (MenuElem (_("Bounce range to region list"), bind (mem_fun(*this, &Editor::bounce_range_selection), false, false)));
+ items.push_back (MenuElem (_("Bounce range to region list with processing"), bind (mem_fun(*this, &Editor::bounce_range_selection), false, true)));
items.push_back (MenuElem (_("Export range"), mem_fun(*this, &Editor::export_selection)));
}
@@ -2851,12 +2857,6 @@ Editor::setup_toolbar ()
{
string pixmap_path;
-#ifdef GTKOSX
- const guint32 FUDGE = 38; // Combo's are stupid - they steal space from the entry for the button
-#else
- const guint32 FUDGE = 24; // Combo's are stupid - they steal space from the entry for the button
-#endif
-
/* Mode Buttons (tool selection) */
vector<ToggleButton *> mouse_mode_buttons;
@@ -2911,8 +2911,7 @@ Editor::setup_toolbar ()
edit_mode_strings.push_back (edit_mode_to_string (Lock));
edit_mode_selector.set_name ("EditModeSelector");
- Gtkmm2ext::set_size_request_to_display_given_text (edit_mode_selector, longest (edit_mode_strings).c_str(), 2+FUDGE, 10);
- set_popdown_strings (edit_mode_selector, edit_mode_strings);
+ set_popdown_strings (edit_mode_selector, edit_mode_strings, true);
edit_mode_selector.signal_changed().connect (mem_fun(*this, &Editor::edit_mode_selection_done));
mode_box->pack_start(edit_mode_selector);
@@ -2991,8 +2990,7 @@ Editor::setup_toolbar ()
ARDOUR_UI::instance()->tooltips().set_tip (zoom_out_full_button, _("Zoom to Session"));
zoom_focus_selector.set_name ("ZoomFocusSelector");
- Gtkmm2ext::set_size_request_to_display_given_text (zoom_focus_selector, _("Playhead"), FUDGE, 0);
- set_popdown_strings (zoom_focus_selector, zoom_focus_strings);
+ set_popdown_strings (zoom_focus_selector, zoom_focus_strings, true);
zoom_focus_selector.signal_changed().connect (mem_fun(*this, &Editor::zoom_focus_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (zoom_focus_selector, _("Zoom focus"));
@@ -3005,20 +3003,17 @@ Editor::setup_toolbar ()
snap_box.set_border_width (2);
snap_type_selector.set_name ("SnapTypeSelector");
- Gtkmm2ext::set_size_request_to_display_given_text (snap_type_selector, _("SMPTE Seconds"), 2+FUDGE, 10);
- set_popdown_strings (snap_type_selector, snap_type_strings);
+ set_popdown_strings (snap_type_selector, snap_type_strings, true);
snap_type_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_type_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (snap_type_selector, _("Snap/Grid Units"));
snap_mode_selector.set_name ("SnapModeSelector");
- Gtkmm2ext::set_size_request_to_display_given_text (snap_mode_selector, _("Magnetic Snap"), 2+FUDGE, 10);
- set_popdown_strings (snap_mode_selector, snap_mode_strings);
+ set_popdown_strings (snap_mode_selector, snap_mode_strings, true);
snap_mode_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_mode_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (snap_mode_selector, _("Snap/Grid Mode"));
- edit_point_selector.set_name ("SnapModeSelector");
- Gtkmm2ext::set_size_request_to_display_given_text (edit_point_selector, _("Playhead"), 2+FUDGE, 10);
- set_popdown_strings (edit_point_selector, edit_point_strings);
+ edit_point_selector.set_name ("EditPointSelector");
+ set_popdown_strings (edit_point_selector, edit_point_strings, true);
edit_point_selector.signal_changed().connect (mem_fun(*this, &Editor::edit_point_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (edit_point_selector, _("Edit point"));
@@ -4285,7 +4280,6 @@ Editor::on_key_release_event (GdkEventKey* ev)
void
Editor::reset_x_origin (nframes64_t frame)
{
- //cerr << "resetting x origin" << endl;
queue_visual_change (frame);
}
@@ -4474,12 +4468,19 @@ Editor::post_zoom ()
void
Editor::queue_visual_change (nframes64_t where)
{
-// pending_visual_change.pending = VisualChange::Type (pending_visual_change.pending | VisualChange::TimeOrigin);
-// pending_visual_change.time_origin = where;
+ pending_visual_change.pending = VisualChange::Type (pending_visual_change.pending | VisualChange::TimeOrigin);
+
+ /* if we're moving beyond the end, make sure the upper limit of the horizontal adjustment
+ can reach.
+ */
+
+ if (where > session->current_end_frame()) {
+ horizontal_adjustment.set_upper ((where + current_page_frames()) / frames_per_unit);
+ }
+
+ pending_visual_change.time_origin = where;
if (pending_visual_change.idle_handler_id < 0) {
- pending_visual_change.pending = VisualChange::Type (pending_visual_change.pending | VisualChange::TimeOrigin);
- pending_visual_change.time_origin = where;
pending_visual_change.idle_handler_id = g_idle_add (_idle_visual_changer, this);
}
}
@@ -4521,7 +4522,7 @@ Editor::idle_visual_changer ()
update_fixed_rulers ();
redisplay_tempo (true);
}
- //cerr << "Editor::idle_visual_changer () called ha v:l:u:ps:fpu = " << horizontal_adjustment.get_value() << ":" << horizontal_adjustment.get_lower() << ":" << horizontal_adjustment.get_upper() << ":" << horizontal_adjustment.get_page_size() << ":" << frames_per_unit << endl;//DEBUG
+ // cerr << "Editor::idle_visual_changer () called ha v:l:u:ps:fpu = " << horizontal_adjustment.get_value() << ":" << horizontal_adjustment.get_lower() << ":" << horizontal_adjustment.get_upper() << ":" << horizontal_adjustment.get_page_size() << ":" << frames_per_unit << endl;//DEBUG
pending_visual_change.idle_handler_id = -1;
return 0; /* this is always a one-shot call */
}
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 983f39d..1ce860c 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -286,6 +286,7 @@ class Editor : public PublicEditor
void clear_playlists (TimeAxisView*);
TrackViewList* get_valid_views (TimeAxisView*, ARDOUR::RouteGroup* grp = 0);
+ void get_onscreen_tracks (TrackViewList&);
Width editor_mixer_strip_width;
void maybe_add_mixer_strip_width (XMLNode&);
@@ -777,18 +778,20 @@ class Editor : public PublicEditor
Cursor* playhead_cursor;
ArdourCanvas::Group* cursor_group;
- void cursor_to_region_boundary (Cursor*, int32_t dir);
- void cursor_to_next_region_boundary (Cursor*);
- void cursor_to_previous_region_boundary (Cursor*);
+ nframes64_t get_region_boundary (nframes64_t pos, int32_t dir, bool with_selection, bool only_onscreen);
+
+ void cursor_to_region_boundary (bool with_selection, int32_t dir);
+ void cursor_to_next_region_boundary (bool with_selection);
+ void cursor_to_previous_region_boundary (bool with_selection);
void cursor_to_next_region_point (Cursor*, ARDOUR::RegionPoint);
void cursor_to_previous_region_point (Cursor*, ARDOUR::RegionPoint);
void cursor_to_region_point (Cursor*, ARDOUR::RegionPoint, int32_t dir);
void cursor_to_selection_start (Cursor *);
void cursor_to_selection_end (Cursor *);
- void selected_marker_to_region_boundary (int32_t dir);
- void selected_marker_to_next_region_boundary ();
- void selected_marker_to_previous_region_boundary ();
+ void selected_marker_to_region_boundary (bool with_selection, int32_t dir);
+ void selected_marker_to_next_region_boundary (bool with_selection);
+ void selected_marker_to_previous_region_boundary (bool with_selection);
void selected_marker_to_next_region_point (ARDOUR::RegionPoint);
void selected_marker_to_previous_region_point (ARDOUR::RegionPoint);
void selected_marker_to_region_point (ARDOUR::RegionPoint, int32_t dir);
@@ -1766,6 +1769,7 @@ public:
void redisplay_route_list();
bool ignore_route_list_reorder;
bool no_route_list_redisplay;
+ bool sync_track_view_list_and_route_list ();
void build_route_list_menu ();
void show_route_list_menu ();
@@ -1919,7 +1923,7 @@ public:
bool write_region (string path, boost::shared_ptr<ARDOUR::AudioRegion>);
void export_region ();
void bounce_region_selection ();
- void bounce_range_selection (bool replace);
+ void bounce_range_selection (bool replace, bool enable_processing = true);
void external_edit_region ();
int write_audio_selection (TimeSelection&);
diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc
index 0776b91..0a24236 100644
--- a/gtk2_ardour/editor_actions.cc
+++ b/gtk2_ardour/editor_actions.cc
@@ -128,9 +128,13 @@ Editor::register_actions ()
act = ActionManager::register_action (editor_actions, "toggle-selected-region-fades", _("Toggle Region Fades"), bind (mem_fun(*this, &Editor::toggle_selected_region_fades), 0));
ActionManager::session_sensitive_actions.push_back (act);
- act = ActionManager::register_action (editor_actions, "playhead-to-next-region-boundary", _("Playhead to Next Region Boundary"), bind (mem_fun(*this, &Editor::cursor_to_next_region_boundary), playhead_cursor));
+ act = ActionManager::register_action (editor_actions, "playhead-to-next-region-boundary", _("Playhead to Next Region Boundary"), bind (mem_fun(*this, &Editor::cursor_to_next_region_boundary), true ));
ActionManager::session_sensitive_actions.push_back (act);
- act = ActionManager::register_action (editor_actions, "playhead-to-previous-region-boundary", _("Playhead to Previous Region Boundary"), bind (mem_fun(*this, &Editor::cursor_to_previous_region_boundary), playhead_cursor));
+ act = ActionManager::register_action (editor_actions, "playhead-to-next-region-boundary-noselection", _("Playhead to Next Region Boundary (No Track Selection)"), bind (mem_fun(*this, &Editor::cursor_to_next_region_boundary), false ));
+ ActionManager::session_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (editor_actions, "playhead-to-previous-region-boundary", _("Playhead to Previous Region Boundary"), bind (mem_fun(*this, &Editor::cursor_to_previous_region_boundary), true));
+ ActionManager::session_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (editor_actions, "playhead-to-previous-region-boundary-noselection", _("Playhead to Previous Region Boundary (No Track Selection"), bind (mem_fun(*this, &Editor::cursor_to_previous_region_boundary), false));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (editor_actions, "playhead-to-next-region-start", _("Playhead to Next Region Start"), bind (mem_fun(*this, &Editor::cursor_to_next_region_point), playhead_cursor, RegionPoint (Start)));
@@ -147,11 +151,15 @@ Editor::register_actions ()
act = ActionManager::register_action (editor_actions, "playhead-to-previous-region-sync", _("Playhead to Previous Region Sync"), bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), playhead_cursor, RegionPoint (SyncPoint)));
ActionManager::session_sensitive_actions.push_back (act);
- act = ActionManager::register_action (editor_actions, "selected-marker-to-next-region-boundary", _("to Next Region Boundary"), mem_fun(*this, &Editor::selected_marker_to_next_region_boundary));
+ act = ActionManager::register_action (editor_actions, "selected-marker-to-next-region-boundary", _("to Next Region Boundary"), bind (mem_fun(*this, &Editor::selected_marker_to_next_region_boundary), true));
ActionManager::session_sensitive_actions.push_back (act);
- act = ActionManager::register_action (editor_actions, "selected-marker-to-previous-region-boundary", _("to Previous Region Boundary"), mem_fun(*this, &Editor::selected_marker_to_previous_region_boundary));
+ act = ActionManager::register_action (editor_actions, "selected-marker-to-next-region-boundary-noselection", _("to Next Region Boundary (No Track Selection)"), bind (mem_fun(*this, &Editor::selected_marker_to_next_region_boundary), false));
ActionManager::session_sensitive_actions.push_back (act);
-
+ act = ActionManager::register_action (editor_actions, "selected-marker-to-previous-region-boundary", _("to Previous Region Boundary"), bind (mem_fun(*this, &Editor::selected_marker_to_previous_region_boundary), true));
+ ActionManager::session_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (editor_actions, "selected-marker-to-previous-region-boundary-noselection", _("to Previous Region Boundary (No Track Selection)"), bind (mem_fun(*this, &Editor::selected_marker_to_previous_region_boundary), false));
+ ActionManager::session_sensitive_actions.push_back (act);
+
act = ActionManager::register_action (editor_actions, "edit-cursor-to-next-region-start", _("to Next Region Start"), bind (mem_fun(*this, &Editor::selected_marker_to_next_region_point), RegionPoint (Start)));
ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (editor_actions, "edit-cursor-to-next-region-end", _("to Next Region End"), bind (mem_fun(*this, &Editor::selected_marker_to_next_region_point), RegionPoint (End)));
diff --git a/gtk2_ardour/editor_imageframe.cc b/gtk2_ardour/editor_imageframe.cc
index d2defd4..1cb1748 100644
--- a/gtk2_ardour/editor_imageframe.cc
+++ b/gtk2_ardour/editor_imageframe.cc
@@ -1081,19 +1081,32 @@ Editor::markerview_end_handle_end_trim (ArdourCanvas::Item* item, GdkEvent* even
void
Editor::handle_new_imageframe_time_axis_view(const string & track_name, void* src)
{
+ route_redisplay_does_not_sync_order_keys = true;
+ no_route_list_redisplay = true;
+
ImageFrameTimeAxis* iftav ;
iftav = new ImageFrameTimeAxis(track_name, *this, *session, *track_canvas) ;
iftav->set_time_axis_name(track_name, this) ;
track_views.push_back(iftav) ;
- TreeModel::Row row = *(route_display_model->append());
+ TreeModel::Row row = *(route_display_model->append());
+#if 1 // fake Route workaround
+ row[route_display_columns.route] =
+ session->new_video_track(iftav->name());
+#endif
row[route_display_columns.text] = iftav->name();
row[route_display_columns.tv] = iftav;
+ row[route_display_columns.visible] = true;
route_list_display.get_selection()->select (row);
iftav->GoingAway.connect(bind(mem_fun(*this, &Editor::remove_route), (TimeAxisView*)iftav)) ;
+ iftav->set_old_order_key (route_display_model->children().size() - 1);
iftav->gui_changed.connect(mem_fun(*this, &Editor::handle_gui_changes)) ;
+
+ no_route_list_redisplay = false;
+ redisplay_route_list ();
+ route_redisplay_does_not_sync_order_keys = false;
}
void
diff --git a/gtk2_ardour/editor_keyboard.cc b/gtk2_ardour/editor_keyboard.cc
index 6d8bbda..257ebc4 100644
--- a/gtk2_ardour/editor_keyboard.cc
+++ b/gtk2_ardour/editor_keyboard.cc
@@ -78,7 +78,28 @@ Editor::kbd_driver (sigc::slot<void,GdkEvent*> theslot, bool use_track_canvas, b
void
Editor::kbd_mute_unmute_region ()
{
- if (entered_regionview) {
+ if (!selection->regions.empty ()) {
+
+ if (selection->regions.size() > 1) {
+ begin_reversible_command (_("mute regions"));
+ } else {
+ begin_reversible_command (_("mute region"));
+ }
+
+ for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
+
+ XMLNode &before = (*i)->region()->playlist()->get_state ();
+ (*i)->region()->set_muted (!(*i)->region()->muted ());
+ XMLNode &after = (*i)->region()->playlist()->get_state ();
+
+ session->add_command (new MementoCommand<ARDOUR::Playlist>(*((*i)->region()->playlist()), &before, &after));
+
+ }
+
+ commit_reversible_command ();
+
+ } else if (entered_regionview) {
+
begin_reversible_command (_("mute region"));
XMLNode &before = entered_regionview->region()->playlist()->get_state();
@@ -87,6 +108,7 @@ Editor::kbd_mute_unmute_region ()
XMLNode &after = entered_regionview->region()->playlist()->get_state();
session->add_command (new MementoCommand<ARDOUR::Playlist>(*(entered_regionview->region()->playlist()), &before, &after));
commit_reversible_command();
+
}
}
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index c5809a3..de0a27c 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -222,6 +222,17 @@ Editor::update_current_screen ()
goto almost_done;
}
+#undef DEBUG_CURRENT_SCREEN
+#if DEBUG_CURRENT_SCREEN
+
+ cerr << "@ " << frame << " last " << last_update_frame << " follow " << _follow_playhead
+ << " ret " << session->requested_return_frame()
+ << " left " << leftmost_frame
+ << " right " << leftmost_frame + current_page_frames()
+ << " speed " << session->transport_speed ()
+ << endl;
+#endif
+
/* only update if the playhead is on screen or we are following it */
if (_follow_playhead && session->requested_return_frame() < 0) {
@@ -234,7 +245,10 @@ Editor::update_current_screen ()
#undef CONTINUOUS_SCROLL
#ifndef CONTINUOUS_SCROLL
if (frame < leftmost_frame || frame > leftmost_frame + current_page_frames()) {
-
+
+#ifdef DEBUG_CURRENT_SCREEN
+ cerr << "\trecenter...\n";
+#endif
if (session->transport_speed() < 0) {
if (frame > (current_page_frames()/2)) {
center_screen (frame-(current_page_frames()/2));
@@ -382,11 +396,15 @@ Editor::session_going_away ()
current_bbt_points = 0;
}
- /* mixer strip will be deleted all by itself
- when its route is deleted.
- */
+ /* get rid of any existing editor mixer strip */
- current_mixer_strip = 0;
+ if (current_mixer_strip) {
+ if (current_mixer_strip->get_parent() != 0) {
+ global_hpacker.remove (*current_mixer_strip);
+ }
+ delete current_mixer_strip;
+ current_mixer_strip = 0;
+ }
WindowTitle title(Glib::get_application_name());
title += _("Editor");
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index f8f7002..2fed8e1 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -519,6 +519,24 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
button_selection (item, event, item_type);
+ //ctrl-drag or right-click-drag on a "range" ruler should start a range drag
+ if (event->type == GDK_BUTTON_PRESS) {
+ if (event->button.button == 3 || ( (event->button.button == 1) && (Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier) ))) {
+ if (item_type == TransportMarkerBarItem) {
+ start_range_markerbar_op (item, event, CreateTransportMarker);
+ return true;
+ }
+ if (item_type == RangeMarkerBarItem) {
+ start_range_markerbar_op (item, event, CreateRangeMarker);
+ return true;
+ }
+ if (item_type == CdMarkerBarItem) {
+ start_range_markerbar_op (item, event, CreateCDMarker);
+ return true;
+ }
+ }
+ }
+
if (drag_info.item == 0 &&
(Keyboard::is_delete_event (&event->button) ||
Keyboard::is_context_menu_event (&event->button) ||
@@ -575,40 +593,15 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
case MarkerBarItem:
case TempoBarItem:
case MeterBarItem:
- if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event);
- }
- return true;
- break;
-
-
+ case TransportMarkerBarItem:
case RangeMarkerBarItem:
- if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event);
- } else {
- start_range_markerbar_op (item, event, CreateRangeMarker);
- }
- return true;
- break;
-
case CdMarkerBarItem:
if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event);
- } else {
- start_range_markerbar_op (item, event, CreateCDMarker);
}
return true;
break;
- case TransportMarkerBarItem:
- if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
- start_cursor_grab_no_stop(&playhead_cursor->canvas_item, event);
- } else {
- start_range_markerbar_op (item, event, CreateTransportMarker);
- }
- return true;
- break;
-
default:
break;
}
@@ -1000,7 +993,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case CdMarkerBarItem:
case TempoBarItem:
case MeterBarItem:
- popup_ruler_menu (pixel_to_frame(event->button.x), item_type);
+ popup_ruler_menu (where, item_type);
break;
case MarkerItem:
@@ -1795,6 +1788,7 @@ Editor::motion_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item
case MarkerViewHandleEndItem:
/* </CMT Additions> */
if (drag_info.item && (event->motion.state & Gdk::BUTTON1_MASK ||
+ (event->motion.state & Gdk::BUTTON3_MASK) ||
(event->motion.state & Gdk::BUTTON2_MASK))) {
if (!from_autoscroll) {
maybe_autoscroll_horizontally (&event->motion);
@@ -1983,9 +1977,9 @@ Editor::end_grab (ArdourCanvas::Item* item, GdkEvent* event)
return false;
}
- drag_info.item->ungrab (event->button.time);
+ drag_info.item->ungrab (event ? event->button.time : 0);
- if (drag_info.finished_callback) {
+ if (drag_info.finished_callback && event) {
drag_info.last_pointer_x = drag_info.current_pointer_x;
drag_info.last_pointer_y = drag_info.current_pointer_y;
(this->*(drag_info.finished_callback)) (item, event);
@@ -3205,24 +3199,11 @@ Editor::line_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
double cy = drag_info.grab_y + drag_info.cumulative_y_drag + dy;
- // calculate zero crossing point. back off by .01 to stay on the
- // positive side of zero
- double zero_gain_y = (1.0 - ZERO_GAIN_FRACTION) * line->height() - .01;
-
- // line->parent_group().i2w(_unused, zero_gain_y);
-
- // make sure we hit zero when passing through
- if ((cy < zero_gain_y and (cy - dy) > zero_gain_y)
- or (cy > zero_gain_y and (cy - dy) < zero_gain_y)) {
- cy = zero_gain_y;
- }
-
drag_info.cumulative_y_drag = cy - drag_info.grab_y;
cy = max (0.0, cy);
cy = min ((double) line->height(), cy);
-
double fraction = 1.0 - (cy / line->height());
bool push;
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index bc934ea..fb331ea 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -688,7 +688,8 @@ Editor::build_region_boundary_cache ()
break;
case SyncPoint:
- rpos = r->adjust_to_sync (r->first_frame());
+ rpos = r->sync_position ();
+ //r->adjust_to_sync (r->first_frame());
break;
default:
@@ -774,7 +775,8 @@ Editor::find_next_region (nframes64_t frame, RegionPoint point, int32_t dir, Tra
break;
case SyncPoint:
- rpos = r->adjust_to_sync (r->first_frame());
+ rpos = r->sync_position ();
+ // r->adjust_to_sync (r->first_frame());
break;
}
@@ -804,6 +806,7 @@ Editor::find_next_region_boundary (nframes64_t pos, int32_t dir, const TrackView
nframes64_t distance = max_frames;
nframes64_t current_nearest = -1;
+
for (TrackViewList::const_iterator i = tracks.begin(); i != tracks.end(); ++i) {
nframes64_t contender;
nframes64_t d;
@@ -829,10 +832,45 @@ Editor::find_next_region_boundary (nframes64_t pos, int32_t dir, const TrackView
return current_nearest;
}
+nframes64_t
+Editor::get_region_boundary (nframes64_t pos, int32_t dir, bool with_selection, bool only_onscreen)
+{
+ nframes64_t target;
+ TrackViewList tvl;
+
+ if (with_selection && Config->get_region_boundaries_from_selected_tracks()) {
+
+ if (!selection->tracks.empty()) {
+
+ target = find_next_region_boundary (pos, dir, selection->tracks);
+
+ } else {
+
+ if (only_onscreen || Config->get_region_boundaries_from_onscreen_tracks()) {
+ get_onscreen_tracks (tvl);
+ target = find_next_region_boundary (pos, dir, tvl);
+ } else {
+ target = find_next_region_boundary (pos, dir, track_views);
+ }
+ }
+
+ } else {
+
+ if (only_onscreen || Config->get_region_boundaries_from_onscreen_tracks()) {
+ get_onscreen_tracks (tvl);
+ target = find_next_region_boundary (pos, dir, tvl);
+ } else {
+ target = find_next_region_boundary (pos, dir, track_views);
+ }
+ }
+
+ return target;
+}
+
void
-Editor::cursor_to_region_boundary (Cursor* cursor, int32_t dir)
+Editor::cursor_to_region_boundary (bool with_selection, int32_t dir)
{
- nframes64_t pos = cursor->current_frame;
+ nframes64_t pos = playhead_cursor->current_frame;
nframes64_t target;
if (!session) {
@@ -844,37 +882,24 @@ Editor::cursor_to_region_boundary (Cursor* cursor, int32_t dir)
pos += dir;
}
- if (!selection->tracks.empty()) {
-
- target = find_next_region_boundary (pos, dir, selection->tracks);
-
- } else {
-
- target = find_next_region_boundary (pos, dir, track_views);
- }
-
- if (target < 0) {
+ if ((target = get_region_boundary (pos, dir, with_selection, false)) < 0) {
return;
}
- if (cursor == playhead_cursor) {
- session->request_locate (target);
- } else {
- cursor->set_position (target);
- }
+ session->request_locate (target);
}
void
-Editor::cursor_to_next_region_boundary (Cursor* cursor)
+Editor::cursor_to_next_region_boundary (bool with_selection)
{
- cursor_to_region_boundary (cursor, 1);
+ cursor_to_region_boundary (with_selection, 1);
}
void
-Editor::cursor_to_previous_region_boundary (Cursor* cursor)
+Editor::cursor_to_previous_region_boundary (bool with_selection)
{
- cursor_to_region_boundary (cursor, -1);
+ cursor_to_region_boundary (with_selection, -1);
}
void
@@ -923,7 +948,8 @@ Editor::cursor_to_region_point (Cursor* cursor, RegionPoint point, int32_t dir)
break;
case SyncPoint:
- pos = r->adjust_to_sync (r->first_frame());
+ pos = r->sync_position ();
+ // r->adjust_to_sync (r->first_frame());
break;
}
@@ -1022,7 +1048,7 @@ Editor::cursor_to_selection_end (Cursor *cursor)
}
void
-Editor::selected_marker_to_region_boundary (int32_t dir)
+Editor::selected_marker_to_region_boundary (bool with_selection, int32_t dir)
{
nframes64_t target;
Location* loc;
@@ -1054,16 +1080,7 @@ Editor::selected_marker_to_region_boundary (int32_t dir)
pos += dir;
}
- if (!selection->tracks.empty()) {
-
- target = find_next_region_boundary (pos, dir, selection->tracks);
-
- } else {
-
- target = find_next_region_boundary (pos, dir, track_views);
- }
-
- if (target < 0) {
+ if ((target = get_region_boundary (pos, dir, with_selection, false)) < 0) {
return;
}
@@ -1071,15 +1088,15 @@ Editor::selected_marker_to_region_boundary (int32_t dir)
}
void
-Editor::selected_marker_to_next_region_boundary ()
+Editor::selected_marker_to_next_region_boundary (bool with_selection)
{
- selected_marker_to_region_boundary (1);
+ selected_marker_to_region_boundary (with_selection, 1);
}
void
-Editor::selected_marker_to_previous_region_boundary ()
+Editor::selected_marker_to_previous_region_boundary (bool with_selection)
{
- selected_marker_to_region_boundary (-1);
+ selected_marker_to_region_boundary (with_selection, -1);
}
void
@@ -3611,7 +3628,7 @@ Editor::freeze_thread ()
gint
Editor::freeze_progress_timeout (void *arg)
{
- interthread_progress_bar.set_fraction (current_interthread_info->progress/100);
+ interthread_progress_bar.set_fraction (current_interthread_info->progress);
return !(current_interthread_info->done || current_interthread_info->cancel);
}
@@ -3649,7 +3666,7 @@ Editor::freeze_route ()
pthread_attr_init(&attr);
pthread_attr_setstacksize(&attr, 500000);
- pthread_create (&itt.thread, &attr, _freeze_thread, this);
+ pthread_create_and_store (X_("freezer"), &itt.thread, &attr, _freeze_thread, this);
pthread_attr_destroy(&attr);
@@ -3666,7 +3683,7 @@ Editor::freeze_route ()
}
void
-Editor::bounce_range_selection (bool replace)
+Editor::bounce_range_selection (bool replace, bool enable_processing)
{
if (selection->time.empty()) {
return;
@@ -3701,7 +3718,7 @@ Editor::bounce_range_selection (bool replace)
itt.progress = false;
XMLNode &before = playlist->get_state();
- boost::shared_ptr<Region> r = atv->audio_track()->bounce_range (start, start+cnt, itt);
+ boost::shared_ptr<Region> r = atv->audio_track()->bounce_range (start, start+cnt, itt, enable_processing);
if (replace) {
list<AudioRange> ranges;
diff --git a/gtk2_ardour/editor_region_list.cc b/gtk2_ardour/editor_region_list.cc
index b83d131..0e14391 100644
--- a/gtk2_ardour/editor_region_list.cc
+++ b/gtk2_ardour/editor_region_list.cc
@@ -398,24 +398,12 @@ Editor::region_list_display_button_press (GdkEventButton *ev)
return true;
}
- if (region == 0) {
- return false;
- }
-
- switch (ev->button) {
- case 1:
- break;
-
- case 2:
- // audition on middle click (stop audition too)
+ if (region != 0 && Keyboard::is_button2_event (ev)) {
+ // start/stop audition
if (!Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
consider_auditioning (region);
}
return true;
- break;
-
- default:
- break;
}
return false;
@@ -460,7 +448,7 @@ Editor::consider_auditioning (boost::shared_ptr<Region> region)
if (r == last_audition_region) {
return;
}
- }
+ }
session->audition_region (r);
last_audition_region = r;
diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc
index b62865c..86c7c9d 100644
--- a/gtk2_ardour/editor_route_list.cc
+++ b/gtk2_ardour/editor_route_list.cc
@@ -122,6 +122,8 @@ Editor::remove_route (TimeAxisView *tv)
TrackViewList::iterator i;
TreeModel::Children rows = route_display_model->children();
TreeModel::Children::iterator ri;
+ boost::shared_ptr<Route> route;
+ TimeAxisView* next_tv;
if (tv == entered_track) {
entered_track = 0;
@@ -135,6 +137,7 @@ Editor::remove_route (TimeAxisView *tv)
for (ri = rows.begin(); ri != rows.end(); ++ri) {
if ((*ri)[route_display_columns.tv] == tv) {
+ route = (*ri)[route_display_columns.route];
route_display_model->erase (ri);
break;
}
@@ -143,14 +146,29 @@ Editor::remove_route (TimeAxisView *tv)
route_redisplay_does_not_sync_order_keys = false;
if ((i = find (track_views.begin(), track_views.end(), tv)) != track_views.end()) {
- track_views.erase (i);
+ i = track_views.erase (i);
+
+ if (track_views.empty()) {
+ next_tv = 0;
+ } else if (i == track_views.end()) {
+ next_tv = track_views.front();
+ } else {
+ next_tv = (*i);
+ }
}
- /* since the editor mixer goes away when you remove a route, set the
- * button to inactive and untick the menu option
- */
+ if (current_mixer_strip && (current_mixer_strip->route() == route)) {
- ActionManager::uncheck_toggleaction ("<Actions>/Editor/show-editor-mixer");
+ if (next_tv) {
+ set_selected_mixer_strip (*next_tv);
+ } else {
+ /* make the editor mixer strip go away by setting the
+ * button to inactive (which also unticks the menu option)
+ */
+
+ ActionManager::uncheck_toggleaction ("<Actions>/Editor/show-editor-mixer");
+ }
+ }
}
void
@@ -296,7 +314,7 @@ Editor::redisplay_route_list ()
}
bool visible = (*i)[route_display_columns.visible];
-
+
if (visible) {
tv->set_marked_for_display (true);
position += tv->show_at (position, n, &edit_controls_vbox);
@@ -310,6 +328,13 @@ Editor::redisplay_route_list ()
++n;
}
+ /* whenever we go idle, update the track view list to reflect the new order.
+ we can't do this here, because we could mess up something that is traversing
+ the track order and has caused a redisplay of the list.
+ */
+
+ Glib::signal_idle().connect (mem_fun (*this, &Editor::sync_track_view_list_and_route_list));
+
full_canvas_height = position + canvas_timebars_vsize;
vertical_adjustment.set_upper (full_canvas_height);
if ((vertical_adjustment.get_value() + canvas_height) > vertical_adjustment.get_upper()) {
@@ -325,6 +350,22 @@ Editor::redisplay_route_list ()
}
}
+bool
+Editor::sync_track_view_list_and_route_list ()
+{
+ TreeModel::Children rows = route_display_model->children();
+ TreeModel::Children::iterator i;
+
+ track_views.clear ();
+
+ for (i = rows.begin(); i != rows.end(); ++i) {
+ TimeAxisView *tv = (*i)[route_display_columns.tv];
+ track_views.push_back (tv);
+ }
+
+ return false; // do not call again (until needed)
+}
+
void
Editor::hide_all_tracks (bool with_select)
{
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc
index 1a58f28..dd33f48 100644
--- a/gtk2_ardour/editor_rulers.cc
+++ b/gtk2_ardour/editor_rulers.cc
@@ -424,6 +424,8 @@ Editor::popup_ruler_menu (nframes64_t where, ItemType t)
case CdMarkerBarItem:
// TODO
+ ruler_items.push_back (MenuElem (_("Clear all locations"), mem_fun(*this, &Editor::clear_markers)));
+ ruler_items.push_back (MenuElem (_("Unhide locations"), mem_fun(*this, &Editor::unhide_markers)));
ruler_items.push_back (MenuElem (_("New CD track marker"), bind ( mem_fun(*this, &Editor::mouse_add_new_marker), where, true, false)));
break;
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 5771edd..e6a0695 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -252,6 +252,16 @@ Editor::set_selected_control_point_from_click (Selection::Operation op, bool no_
}
void
+Editor::get_onscreen_tracks (TrackViewList& tvl)
+{
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ if ((*i)->y_position < canvas_height) {
+ tvl.push_back (*i);
+ }
+ }
+}
+
+void
Editor::get_relevant_audio_tracks (set<AudioTimeAxisView*>& relevant_tracks)
{
/* step one: get all selected tracks and all tracks in the relevant edit groups */
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index a5bfc38..75474f7 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -448,14 +448,16 @@ GenericPluginUI::build_control_ui (guint32 port_index, PBD::Controllable* mcontr
control_ui->pack_start (control_ui->label, true, true);
control_ui->pack_start (*control_ui->button, false, true);
- control_ui->pack_start (control_ui->automate_button, false, false);
+ //control_ui->pack_start (control_ui->automate_button, false, false);
- control_ui->button->signal_clicked().connect (bind (mem_fun(*this, &GenericPluginUI::control_port_toggled), control_ui));
-
- if(plugin->get_parameter (port_index) == 1){
+ if(plugin->get_parameter (port_index) > 0.5){
control_ui->button->set_active(true);
}
+ control_ui->button->signal_clicked().connect (bind (mem_fun(*this, &GenericPluginUI::control_port_toggled), control_ui));
+
+ plugin->ParameterChanged.connect (bind (mem_fun(*this, &GenericPluginUI::toggle_parameter_changed), control_ui));
+
return control_ui;
}
@@ -477,9 +479,6 @@ GenericPluginUI::build_control_ui (guint32 port_index, PBD::Controllable* mcontr
control_ui->adjustment->set_lower (log(control_ui->adjustment->get_lower()));
}
- float delta = desc.upper - desc.lower;
-
- control_ui->adjustment->set_page_size (delta/100.0);
control_ui->adjustment->set_step_increment (desc.step);
control_ui->adjustment->set_page_increment (desc.largestep);
@@ -574,9 +573,10 @@ GenericPluginUI::build_control_ui (guint32 port_index, PBD::Controllable* mcontr
control_ui->meterinfo->packed = true;
output_controls.push_back (control_ui);
+
+ plugin->ParameterChanged.connect (bind (mem_fun(*this, &GenericPluginUI::parameter_changed), control_ui));
}
- plugin->ParameterChanged.connect (bind (mem_fun(*this, &GenericPluginUI::parameter_changed), control_ui));
return control_ui;
}
@@ -640,6 +640,18 @@ GenericPluginUI::control_adjustment_changed (ControlUI* cui)
}
void
+GenericPluginUI::toggle_parameter_changed (uint32_t abs_port_id, float val, ControlUI* cui)
+{
+ if (!cui->ignore_change && cui->port_index == abs_port_id) {
+ if (val > 0.5) {
+ cui->button->set_active (true);
+ } else {
+ cui->button->set_active (false);
+ }
+ }
+}
+
+void
GenericPluginUI::parameter_changed (uint32_t abs_port_id, float val, ControlUI* cui)
{
if (cui->port_index == abs_port_id) {
@@ -668,14 +680,6 @@ GenericPluginUI::update_control_display (ControlUI* cui)
break;
}
}
- } else if (cui->adjustment == 0) {
-
- if (val > 0.5) {
- cui->button->set_active (true);
- } else {
- cui->button->set_active (false);
- }
-
} else {
if (cui->logarithmic) {
val = log(val);
@@ -690,9 +694,9 @@ GenericPluginUI::update_control_display (ControlUI* cui)
void
GenericPluginUI::control_port_toggled (ControlUI* cui)
{
- if (!cui->ignore_change) {
- insert->set_parameter (cui->port_index, cui->button->get_active());
- }
+ cui->ignore_change++;
+ insert->set_parameter (cui->port_index, cui->button->get_active());
+ cui->ignore_change--;
}
void
diff --git a/gtk2_ardour/icons/ardour-sae.png b/gtk2_ardour/icons/ardour-sae.png
deleted file mode 100644
index 11b94bf..0000000
Binary files a/gtk2_ardour/icons/ardour-sae.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade-in-S1.png b/gtk2_ardour/icons/crossfade-in-S1.png
new file mode 100644
index 0000000..09d6279
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-S1.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-S2.png b/gtk2_ardour/icons/crossfade-in-S2.png
new file mode 100644
index 0000000..d7aaf5f
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-S2.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-constant-power.png b/gtk2_ardour/icons/crossfade-in-constant-power.png
new file mode 100644
index 0000000..13a0a05
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-constant-power.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-fast-cut.png b/gtk2_ardour/icons/crossfade-in-fast-cut.png
new file mode 100644
index 0000000..3565ee2
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-fast-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-linear.png b/gtk2_ardour/icons/crossfade-in-linear.png
new file mode 100644
index 0000000..7b8980a
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-linear.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-long-cut.png b/gtk2_ardour/icons/crossfade-in-long-cut.png
new file mode 100644
index 0000000..578346a
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-long-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-short-cut.png b/gtk2_ardour/icons/crossfade-in-short-cut.png
new file mode 100644
index 0000000..465698f
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-short-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-in-slow-cut.png b/gtk2_ardour/icons/crossfade-in-slow-cut.png
new file mode 100644
index 0000000..8080e3a
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-in-slow-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-S1.png b/gtk2_ardour/icons/crossfade-out-S1.png
new file mode 100644
index 0000000..6313690
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-S1.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-S2.png b/gtk2_ardour/icons/crossfade-out-S2.png
new file mode 100644
index 0000000..35efbea
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-S2.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-constant-power.png b/gtk2_ardour/icons/crossfade-out-constant-power.png
new file mode 100644
index 0000000..359f370
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-constant-power.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-fast-cut.png b/gtk2_ardour/icons/crossfade-out-fast-cut.png
new file mode 100644
index 0000000..39d00c0
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-fast-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-linear.png b/gtk2_ardour/icons/crossfade-out-linear.png
new file mode 100644
index 0000000..a9fb6a3
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-linear.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-long-cut.png b/gtk2_ardour/icons/crossfade-out-long-cut.png
new file mode 100644
index 0000000..66c9bb5
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-long-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-short-cut.png b/gtk2_ardour/icons/crossfade-out-short-cut.png
new file mode 100644
index 0000000..43c6a57
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-short-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade-out-slow-cut.png b/gtk2_ardour/icons/crossfade-out-slow-cut.png
new file mode 100644
index 0000000..b740ad2
Binary files /dev/null and b/gtk2_ardour/icons/crossfade-out-slow-cut.png differ
diff --git a/gtk2_ardour/icons/crossfade_in_constant.png b/gtk2_ardour/icons/crossfade_in_constant.png
deleted file mode 100644
index ce7d480..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_constant.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_default.png b/gtk2_ardour/icons/crossfade_in_default.png
deleted file mode 100644
index 57258aa..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_default.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_dipped.png b/gtk2_ardour/icons/crossfade_in_dipped.png
deleted file mode 100644
index 667e9d9..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_dipped.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_fast-cut.png b/gtk2_ardour/icons/crossfade_in_fast-cut.png
deleted file mode 100644
index a55dab5..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_fast-cut.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_slow-cut.png b/gtk2_ardour/icons/crossfade_in_slow-cut.png
deleted file mode 100644
index fe76c3b..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_slow-cut.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_slow-fade.png b/gtk2_ardour/icons/crossfade_in_slow-fade.png
deleted file mode 100644
index a105967..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_slow-fade.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_in_transition.png b/gtk2_ardour/icons/crossfade_in_transition.png
deleted file mode 100644
index 482e8a6..0000000
Binary files a/gtk2_ardour/icons/crossfade_in_transition.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_constant.png b/gtk2_ardour/icons/crossfade_out_constant.png
deleted file mode 100644
index 602ba80..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_constant.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_default.png b/gtk2_ardour/icons/crossfade_out_default.png
deleted file mode 100644
index 4ea3a2b..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_default.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_dipped.png b/gtk2_ardour/icons/crossfade_out_dipped.png
deleted file mode 100644
index 3f1e84c..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_dipped.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_fast-cut.png b/gtk2_ardour/icons/crossfade_out_fast-cut.png
deleted file mode 100644
index 33eaafe..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_fast-cut.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_slow-cut.png b/gtk2_ardour/icons/crossfade_out_slow-cut.png
deleted file mode 100644
index fd62602..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_slow-cut.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_slow-fade.png b/gtk2_ardour/icons/crossfade_out_slow-fade.png
deleted file mode 100644
index d752879..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_slow-fade.png and /dev/null differ
diff --git a/gtk2_ardour/icons/crossfade_out_transition.png b/gtk2_ardour/icons/crossfade_out_transition.png
deleted file mode 100644
index a48e645..0000000
Binary files a/gtk2_ardour/icons/crossfade_out_transition.png and /dev/null differ
diff --git a/gtk2_ardour/icons/poweroff.png b/gtk2_ardour/icons/poweroff.png
deleted file mode 100644
index 6ad33b0..0000000
Binary files a/gtk2_ardour/icons/poweroff.png and /dev/null differ
diff --git a/gtk2_ardour/icons/poweron.png b/gtk2_ardour/icons/poweron.png
deleted file mode 100644
index b4d151e..0000000
Binary files a/gtk2_ardour/icons/poweron.png and /dev/null differ
diff --git a/gtk2_ardour/imageframe.cc b/gtk2_ardour/imageframe.cc
index 7ff05ee..8758819 100644
--- a/gtk2_ardour/imageframe.cc
+++ b/gtk2_ardour/imageframe.cc
@@ -35,7 +35,7 @@ ImageFrame::ImageFrame(Group& parentx, ArtPixBuf* pbuf, double x, double y, Gtk:
: Item(GNOME_CANVAS_ITEM(g_object_new(get_type(),0)))
{
item_construct(parentx);
- set("pixbuf", pbuf, "x", x,"y", y,"width", w,"height", h, 0);
+ set("pixbuf", pbuf, "x", x,"y", y,"width", w,"height", h, "anchor", anchor, 0);
}
ImageFrame::ImageFrame(Group& parentx)
diff --git a/gtk2_ardour/imageframe_socket_handler.cc b/gtk2_ardour/imageframe_socket_handler.cc
index 96b61ca..9279a17 100644
--- a/gtk2_ardour/imageframe_socket_handler.cc
+++ b/gtk2_ardour/imageframe_socket_handler.cc
@@ -316,8 +316,7 @@ ImageFrameSocketHandler::send_imageframe_time_axis_removed(const string & track_
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -357,8 +356,7 @@ ImageFrameSocketHandler::send_imageframe_time_axis_renamed(const string & new_id
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
//------------------------
@@ -393,8 +391,7 @@ ImageFrameSocketHandler::send_marker_time_axis_removed(const string & track_id,
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -434,8 +431,7 @@ ImageFrameSocketHandler::send_marker_time_axis_renamed(const string & new_id, co
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
//---------------------------------
@@ -476,8 +472,7 @@ ImageFrameSocketHandler::send_imageframe_time_axis_group_removed(const string &
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -521,8 +516,7 @@ ImageFrameSocketHandler::send_imageframe_time_axis_group_renamed(const string &
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
@@ -561,8 +555,7 @@ ImageFrameSocketHandler::send_imageframe_view_position_change(nframes_t pos, voi
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -596,8 +589,7 @@ ImageFrameSocketHandler::send_imageframe_view_duration_change(nframes_t dur, voi
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -632,8 +624,7 @@ ImageFrameSocketHandler::send_imageframe_view_renamed(const string & new_id, con
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -669,8 +660,7 @@ ImageFrameSocketHandler::send_imageframe_view_removed(const string & item_id, vo
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
@@ -709,8 +699,7 @@ ImageFrameSocketHandler::send_marker_view_position_change(nframes_t pos, void* s
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -742,8 +731,7 @@ ImageFrameSocketHandler::send_marker_view_duration_change(nframes_t dur, void* s
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
@@ -780,8 +768,7 @@ ImageFrameSocketHandler::send_marker_view_renamed(const string & new_id, const s
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
/**
@@ -815,8 +802,7 @@ ImageFrameSocketHandler::send_marker_view_removed(const string & item_id, void*
send_message(msgBuffer.str()) ;
// XXX should do something with the return
- std::string retmsg ;
- read_message(retmsg) ;
+ read_result();
}
@@ -2323,6 +2309,25 @@ ImageFrameSocketHandler::read_message(std::string& msg)
return(retcode) ;
}
+/**
+ * Reads a reply message ("RT0"/"RT1") from the Socket
+ *
+ * @return true if "RT0" was received,, otherwise false
+ */
+bool
+ImageFrameSocketHandler::read_result()
+{
+ char buf[(ardourvis::RETURN_MSG_SIZE)+1] ;
+ int retcode = ::recv(theArdourToCompositorSocket, buf, ardourvis::RETURN_MSG_SIZE, 0) ;
+ buf[ardourvis::RETURN_MSG_SIZE]='\0';
+ if (retcode > 0) {
+ std::cout << "Received Result [" << buf << "]\n" ;
+ if (retcode == ardourvis::RETURN_MSG_SIZE && buf == ardourvis::RETURN_TRUE) {
+ return (true);
+ }
+ }
+ return(false) ;
+}
/**
* Convenience method to string_compose and send a success messasge back to the Image Compositor
diff --git a/gtk2_ardour/imageframe_socket_handler.h b/gtk2_ardour/imageframe_socket_handler.h
index 3a87f5b..0835f18 100644
--- a/gtk2_ardour/imageframe_socket_handler.h
+++ b/gtk2_ardour/imageframe_socket_handler.h
@@ -669,6 +669,13 @@ class ImageFrameSocketHandler : public sigc::trackable
* @return the return value from the socket call
*/
int read_message(std::string& msg) ;
+
+ /**
+ * Reads a return message ("RT0"/"RT1") from the Socket
+ *
+ * @return true if "RT0" was received,, otherwise false
+ */
+ bool read_result();
/**
* Convenience method to compose and send a success messasge back to the Image Compositor
diff --git a/gtk2_ardour/imageframe_time_axis.cc b/gtk2_ardour/imageframe_time_axis.cc
index f3630e7..700a160 100644
--- a/gtk2_ardour/imageframe_time_axis.cc
+++ b/gtk2_ardour/imageframe_time_axis.cc
@@ -138,6 +138,7 @@ ImageFrameTimeAxis::~ImageFrameTimeAxis ()
void
ImageFrameTimeAxis::set_height (uint32_t h)
{
+ bool changed = (height == 0) || (h != height);
VisualTimeAxis::set_height(h) ;
// tell out view helper of the change too
@@ -146,8 +147,10 @@ ImageFrameTimeAxis::set_height (uint32_t h)
view->set_height((double) height) ;
}
+ if (changed) {
// tell those interested that we have had our height changed
- gui_changed("track_height",(void*)0); /* EMIT_SIGNAL */
+ gui_changed("track_height",(void*)0); /* EMIT_SIGNAL */
+ }
}
/**
diff --git a/gtk2_ardour/imageframe_view.cc b/gtk2_ardour/imageframe_view.cc
index f353813..d129147 100644
--- a/gtk2_ardour/imageframe_view.cc
+++ b/gtk2_ardour/imageframe_view.cc
@@ -67,7 +67,7 @@ ImageFrameView::ImageFrameView(const string & item_id,
uint32_t width,
uint32_t height,
uint32_t num_channels)
- : TimeAxisViewItem(item_id, *parent, *tv, spu, basic_color, start, duration,
+ : TimeAxisViewItem(item_id, *parent, *tv, spu, basic_color, start, duration, false,
TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowNameText|
TimeAxisViewItem::ShowNameHighlight|
TimeAxisViewItem::ShowFrame|
@@ -86,7 +86,16 @@ ImageFrameView::ImageFrameView(const string & item_id,
memcpy(the_rgb_data, rgb_data, (width*height*num_channels)) ;
ArtPixBuf* pbuf ;
- pbuf = art_pixbuf_new_rgba(the_rgb_data, width, height, (num_channels * width));
+ if (num_channels==3)
+ pbuf = art_pixbuf_new_rgb(the_rgb_data, width, height, (num_channels * width));
+ else if (num_channels==4)
+ pbuf = art_pixbuf_new_rgba(the_rgb_data, width, height, (num_channels * width));
+ else {
+ ; // error unsupported image data format
+ art_free(the_rgb_data);
+ std::cerr << "imageframe_view: unsupported image data format" << std::endl;
+ return;
+ }
imageframe = 0 ;
//calculate our image width based on the track height
diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc
index 24ca17f..dd15387 100644
--- a/gtk2_ardour/keyboard.cc
+++ b/gtk2_ardour/keyboard.cc
@@ -648,7 +648,23 @@ Keyboard::load_keybindings (string path)
release_keys.clear ();
+ bool show_bindings = (getenv ("ARDOUR_SHOW_BINDINGS") != 0);
+
for (n = names.begin(), b = bindings.begin(), g = groups.begin(); n != names.end(); ++n, ++b, ++g) {
+
+ if (show_bindings) {
+
+ cerr << "Action: " << (*n) << " Group: " << (*g) << " binding = ";
+
+ if ((*b).get_key() != GDK_VoidSymbol) {
+ cerr << (*b).get_key() << " w/mod = " << hex << (*b).get_mod() << dec << " = " << (*b).get_abbrev();
+ } else {
+ cerr << "unbound";
+ }
+
+ cerr << endl;
+ }
+
if ((*b).get_mod() & Gdk::RELEASE_MASK) {
release_keys.insert (pair<AccelKey,two_strings> (*b, two_strings (*g, *n)));
}
diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc
index 07599a8..26a7074 100644
--- a/gtk2_ardour/lv2_plugin_ui.cc
+++ b/gtk2_ardour/lv2_plugin_ui.cc
@@ -44,14 +44,20 @@ void
LV2PluginUI::parameter_changed (uint32_t port_index, float val)
{
if (val != _values[port_index]) {
- const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(_inst);
- LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(_inst);
- if (ui_desc->port_event)
- ui_desc->port_event(ui_handle, port_index, 4, 0, &val);
- _values[port_index] = val;
+ parameter_update(port_index, val);
}
}
+void
+LV2PluginUI::parameter_update (uint32_t port_index, float val)
+{
+ const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(_inst);
+ LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(_inst);
+ if (ui_desc->port_event)
+ ui_desc->port_event(ui_handle, port_index, 4, 0, &val);
+ _values[port_index] = val;
+}
+
bool
LV2PluginUI::start_updating(GdkEventAny* event)
{
@@ -107,9 +113,13 @@ LV2PluginUI::LV2PluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<
_values = new float[num_ports];
for (uint32_t i = 0; i < num_ports; ++i) {
bool ok;
- _values[i] = lv2p->nth_parameter(i, ok);
- if (ok)
- lv2_ui_write(this, i, 4, /* FIXME: format */0, &_values[i]);
+ uint32_t port = lv2p->nth_parameter(i, ok);
+ if (ok) {
+ _values[port] = lv2p->get_parameter(port);
+ if (lv2p->parameter_is_control(port) && lv2p->parameter_is_input(port)) {
+ parameter_update(port, _values[port]);
+ }
+ }
}
_lv2->ParameterChanged.connect(mem_fun(*this, &LV2PluginUI::parameter_changed));
diff --git a/gtk2_ardour/lv2_plugin_ui.h b/gtk2_ardour/lv2_plugin_ui.h
index 1af0239..fe8dd85 100644
--- a/gtk2_ardour/lv2_plugin_ui.h
+++ b/gtk2_ardour/lv2_plugin_ui.h
@@ -69,6 +69,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
const void* buffer);
void parameter_changed(uint32_t, float);
+ void parameter_update(uint32_t, float);
bool configure_handler (GdkEventConfigure*);
void save_plugin_setting ();
void output_update();
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index d9738e9..5d79cf0 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -248,10 +248,14 @@ sigpipe_handler (int sig)
}
#ifdef VST_SUPPORT
+
+extern int gui_init (int* argc, char** argv[]);
+
/* this is called from the entry point of a wine-compiled
executable that is linked against gtk2_ardour built
as a shared library.
*/
+
extern "C" {
int ardour_main (int argc, char *argv[])
#else
@@ -267,6 +271,13 @@ int main (int argc, char* argv[])
Glib::thread_init();
gtk_set_locale ();
+#ifdef VST_SUPPORT
+ /* this does some magic that is needed to make GTK and Wine's own
+ X11 client interact properly.
+ */
+ gui_init (&argc, &argv);
+#endif
+
(void) bindtextdomain (PACKAGE, localedir);
/* our i18n translations are all in UTF-8, so make sure
that even if the user locale doesn't specify UTF-8,
diff --git a/gtk2_ardour/marker_time_axis.cc b/gtk2_ardour/marker_time_axis.cc
index df041f8..f5c80be 100644
--- a/gtk2_ardour/marker_time_axis.cc
+++ b/gtk2_ardour/marker_time_axis.cc
@@ -109,6 +109,7 @@ MarkerTimeAxis::~MarkerTimeAxis()
void
MarkerTimeAxis::set_height (uint32_t h)
{
+ bool changed = (height == 0) || (h != height);
VisualTimeAxis::set_height(h) ;
// tell out view helper of the change too
@@ -117,8 +118,10 @@ MarkerTimeAxis::set_height (uint32_t h)
view->set_height((double) height) ;
}
+ if (changed) {
// tell those interested that we have had our height changed
gui_changed("track_height",(void*)0) ; /* EMIT_SIGNAL */
+ }
}
/**
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index f721953..7287e6f 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -102,6 +102,14 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, bool in_mixer)
{
init ();
+
+ if (!_mixer_owned) {
+ /* the editor mixer strip: don't destroy it every time
+ the underlying route goes away.
+ */
+
+ self_destruct = false;
+ }
}
MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt, bool in_mixer)
@@ -134,6 +142,7 @@ MixerStrip::init ()
group_menu = 0;
_marked_for_display = false;
route_ops_menu = 0;
+ rename_menu_item = 0;
ignore_comment_edit = false;
ignore_toggle = false;
ignore_speed_adjustment = false;
@@ -1046,7 +1055,9 @@ MixerStrip::build_route_ops_menu ()
MenuList& items = route_ops_menu->items();
+ items.push_back (MenuElem (_("Save As Template"), mem_fun(*this, &RouteUI::save_as_template)));
items.push_back (MenuElem (_("Rename"), mem_fun(*this, &RouteUI::route_rename)));
+ rename_menu_item = &items.back();
items.push_back (SeparatorElem());
items.push_back (CheckMenuElem (_("Active"), mem_fun (*this, &RouteUI::toggle_route_active)));
route_active_menu_item = dynamic_cast<CheckMenuItem *> (&items.back());
@@ -1074,11 +1085,8 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
{
if (ev->button == 1 || ev->button == 3) {
list_route_operations ();
-
- Menu_Helpers::MenuList& items = route_ops_menu->items();
/* do not allow rename if the track is record-enabled */
- static_cast<MenuItem*> (&items.front())->set_sensitive (!_route->record_enabled());
-
+ rename_menu_item->set_sensitive (!_route->record_enabled());
route_ops_menu->popup (1, ev->time);
}
return FALSE;
@@ -1177,16 +1185,16 @@ MixerStrip::width_clicked ()
void
MixerStrip::hide_clicked ()
{
- // LAME fix to reset the button status for when it is redisplayed (part 1)
- hide_button.set_sensitive(false);
-
+ // LAME fix to reset the button status for when it is redisplayed (part 1)
+ hide_button.set_sensitive(false);
+
if (_embedded) {
- Hiding(); /* EMIT_SIGNAL */
+ Hiding(); /* EMIT_SIGNAL */
} else {
_mixer.hide_strip (this);
}
- // (part 2)
+ // (part 2)
hide_button.set_sensitive(true);
}
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index 957701e..8985021 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -210,6 +210,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void set_automated_controls_sensitivity (bool yn);
Gtk::Menu* route_ops_menu;
+ Gtk::MenuItem* rename_menu_item;
void build_route_ops_menu ();
gint name_button_button_press (GdkEventButton*);
void list_route_operations ();
diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in
index b2419a1..d6df907 100644
--- a/gtk2_ardour/mnemonic-us.bindings.in
+++ b/gtk2_ardour/mnemonic-us.bindings.in
@@ -122,12 +122,14 @@
(gtk_accel_path "<Actions>/Editor/move-selected-tracks-down" "<%PRIMARY%>downarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary" "leftarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-previous-region-boundary-noselection" "<%LEVEL4%>leftarrow")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%PRIMARY%>leftarrow")
(gtk_accel_path "<Actions>/Editor/nudge-playhead-backward" "<%SECONDARY%>leftarrow")
(gtk_accel_path "<Actions>/Transport/Rewind" "<%TERTIARY%>leftarrow")
(gtk_accel_path "<Actions>/Editor/selected-marker-to-previous-region-boundary" "<%PRIMARY%><%TERTIARY%>leftarrow")
(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary" "rightarrow")
+(gtk_accel_path "<Actions>/Editor/playhead-to-next-region-boundary-noselection" "<%LEVEL4%>rightarrow")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "<%PRIMARY%>rightarrow")
(gtk_accel_path "<Actions>/Editor/nudge-playhead-forward" "<%SECONDARY%>rightarrow")
(gtk_accel_path "<Actions>/Transport/Forward" "<%TERTIARY%>rightarrow")
diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc
index 2724785..c02d9b1 100644
--- a/gtk2_ardour/new_session_dialog.cc
+++ b/gtk2_ardour/new_session_dialog.cc
@@ -82,17 +82,17 @@ NewSessionDialog::NewSessionDialog()
m_template = new Gtk::FileChooserButton();
m_create_control_bus = new Gtk::CheckButton(_("Create Monitor Bus"));
- Gtk::Adjustment *m_control_bus_channel_count_adj = Gtk::manage(new Gtk::Adjustment(2, 0, 100, 1, 10, 10));
+ Gtk::Adjustment *m_control_bus_channel_count_adj = Gtk::manage(new Gtk::Adjustment(2, 0, 100, 1, 10));
m_control_bus_channel_count = new Gtk::SpinButton(*m_control_bus_channel_count_adj, 1, 0);
- Gtk::Adjustment *m_master_bus_channel_count_adj = Gtk::manage(new Gtk::Adjustment(2, 0, 100, 1, 10, 10));
+ Gtk::Adjustment *m_master_bus_channel_count_adj = Gtk::manage(new Gtk::Adjustment(2, 0, 100, 1, 10));
m_master_bus_channel_count = new Gtk::SpinButton(*m_master_bus_channel_count_adj, 1, 0);
m_create_master_bus = new Gtk::CheckButton(_("Create Master Bus"));
advanced_table = new Gtk::Table(2, 2, true);
m_connect_inputs = new Gtk::CheckButton(_("Automatically Connect to Physical Inputs"));
m_limit_input_ports = new Gtk::CheckButton(_("Use only"));
- Gtk::Adjustment *m_input_limit_count_adj = Gtk::manage(new Gtk::Adjustment(1, 0, 100, 1, 10, 10));
+ Gtk::Adjustment *m_input_limit_count_adj = Gtk::manage(new Gtk::Adjustment(1, 0, 100, 1, 10));
m_input_limit_count = new Gtk::SpinButton(*m_input_limit_count_adj, 1, 0);
input_port_limit_hbox = new Gtk::HBox(false, 0);
input_port_vbox = new Gtk::VBox(false, 0);
@@ -105,7 +105,7 @@ NewSessionDialog::NewSessionDialog()
m_connect_outputs = new Gtk::CheckButton(_("Automatically Connect Outputs"));
m_limit_output_ports = new Gtk::CheckButton(_("Use only"));
- Gtk::Adjustment *m_output_limit_count_adj = Gtk::manage(new Gtk::Adjustment(1, 0, 100, 1, 10, 10));
+ Gtk::Adjustment *m_output_limit_count_adj = Gtk::manage(new Gtk::Adjustment(1, 0, 100, 1, 10));
m_output_limit_count = new Gtk::SpinButton(*m_output_limit_count_adj, 1, 0);
output_port_limit_hbox = new Gtk::HBox(false, 0);
output_port_vbox = new Gtk::VBox(false, 0);
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index 76f209e..826d937 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -1353,35 +1353,6 @@ OptionEditor::edit_button_changed ()
}
void
-OptionEditor::fixup_combo_size (Gtk::ComboBoxText& combo, vector<string>& strings)
-{
- /* find the widest string */
-
- string::size_type maxlen = 0;
- string maxstring;
-
- for (vector<string>::iterator i = strings.begin(); i != strings.end(); ++i) {
- string::size_type l;
-
- if ((l = (*i).length()) > maxlen) {
- maxlen = l;
- maxstring = *i;
- }
- }
-
- /* try to include ascenders and descenders */
-
- if (maxstring.length() > 2) {
- maxstring[0] = 'g';
- maxstring[1] = 'l';
- }
-
- const guint32 FUDGE = 10; // Combo's are stupid - they steal space from the entry for the button
-
- set_size_request_to_display_given_text (combo, maxstring.c_str(), 10 + FUDGE, 10);
-}
-
-void
OptionEditor::parameter_changed (const char* parameter_name)
{
ENSURE_GUI_THREAD (bind (mem_fun (*this, &OptionEditor::parameter_changed), parameter_name));
diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h
index 359b314..ed6d752 100644
--- a/gtk2_ardour/option_editor.h
+++ b/gtk2_ardour/option_editor.h
@@ -229,8 +229,6 @@ class OptionEditor : public ArdourDialog
void edit_button_changed ();
void delete_button_changed ();
void bindings_changed ();
-
- void fixup_combo_size (Gtk::ComboBoxText&, std::vector<std::string>& strings);
};
#endif /* __gtk_ardour_option_editor_h__ */
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index 67a7864..2fd3aa8 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -50,6 +50,7 @@ using namespace std;
static const char* _filter_mode_strings[] = {
N_("Name contains"),
N_("Type contains"),
+ N_("Category contains"),
N_("Author contains"),
N_("Library contains"),
N_("Favorites only"),
@@ -208,14 +209,35 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
if (mode == _("Name contains")) {
compstr = info->name;
- } else if (mode == _("Type contains")) {
+ } else if (mode == _("Category contains")) {
compstr = info->category;
+ } else if (mode == _("Type contains")) {
+
+ switch (info->type) {
+ case LADSPA:
+ compstr = X_("LADSPA");
+ break;
+ case AudioUnit:
+ compstr = X_("AudioUnit");
+ break;
+ case LV2:
+ compstr = X_("LV2");
+ break;
+ case VST:
+ compstr = X_("VST");
+ break;
+ }
+
} else if (mode == _("Author contains")) {
compstr = info->creator;
} else if (mode == _("Library contains")) {
compstr = info->path;
}
+ if (compstr.empty()) {
+ return false;
+ }
+
transform (compstr.begin(), compstr.end(), compstr.begin(), ::toupper);
if (compstr.find (filterstr) != string::npos) {
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index a833ef9..8c32028 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -122,7 +122,7 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)), false);
- insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
+ death_connection = insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
gint h = _pluginui->get_preferred_height ();
gint w = _pluginui->get_preferred_width ();
@@ -141,6 +141,7 @@ PluginUIWindow::PluginUIWindow (Gtk::Window* win, boost::shared_ptr<PluginInsert
PluginUIWindow::~PluginUIWindow ()
{
+ delete _pluginui;
}
void
@@ -315,24 +316,28 @@ void
PluginUIWindow::plugin_going_away ()
{
ENSURE_GUI_THREAD(mem_fun(*this, &PluginUIWindow::plugin_going_away));
-
+
if (_pluginui) {
_pluginui->stop_updating(0);
}
+
+ death_connection.disconnect ();
+
delete_when_idle (this);
}
PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
: insert (pi),
plugin (insert->plugin()),
- save_button(_("Add")),
+ save_button(_("Save")),
bypass_button (_("Bypass"))
{
//preset_combo.set_use_arrows_always(true);
- set_popdown_strings (preset_combo, plugin->get_presets());
preset_combo.set_size_request (100, -1);
- preset_combo.set_active_text ("");
+ update_presets ();
+
preset_combo.signal_changed().connect(mem_fun(*this, &PlugUIBase::setting_selected));
+ no_load_preset = false;
save_button.set_name ("PluginSaveButton");
save_button.signal_clicked().connect(mem_fun(*this, &PlugUIBase::save_plugin_setting));
@@ -354,19 +359,28 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
focus_button.add (*focus_out_image);
- ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to focus all keyboard events on this plugin window"), "");
+ ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to allow the plugin to receive keyboard events that Ardour would normally use as a shortcut"), "");
ARDOUR_UI::instance()->set_tip (&bypass_button, _("Click to enable/disable this plugin"), "");
}
+PlugUIBase::~PlugUIBase ()
+{
+}
+
void
PlugUIBase::redirect_active_changed (Redirect* r, void* src)
{
ENSURE_GUI_THREAD(bind (mem_fun(*this, &PlugUIBase::redirect_active_changed), r, src));
+ bypass_button.set_active (!r->active());
}
void
PlugUIBase::setting_selected()
{
+ if (no_load_preset) {
+ return;
+ }
+
if (preset_combo.get_active_text().length() > 0) {
if (!plugin->load_preset(preset_combo.get_active_text())) {
warning << string_compose(_("Plugin preset %1 not found"), preset_combo.get_active_text()) << endmsg;
@@ -384,6 +398,7 @@ PlugUIBase::save_plugin_setting ()
prompter.set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY);
prompter.show_all();
+ prompter.present ();
switch (prompter.run ()) {
case Gtk::RESPONSE_ACCEPT:
@@ -393,9 +408,16 @@ PlugUIBase::save_plugin_setting ()
prompter.get_result(name);
if (name.length()) {
- if(plugin->save_preset(name)){
+ if (plugin->save_preset(name)) {
+
+ /* a rather inefficient way to add the newly saved preset
+ to the list.
+ */
+
set_popdown_strings (preset_combo, plugin->get_presets());
+ no_load_preset = true;
preset_combo.set_active_text (name);
+ no_load_preset = false;
}
}
break;
@@ -420,13 +442,13 @@ PlugUIBase::focus_toggled (GdkEventButton* ev)
focus_button.remove ();
focus_button.add (*focus_out_image);
focus_out_image->show ();
- ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to focus all keyboard events on this plugin window"), "");
+ ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to allow the plugin to receive keyboard events that Ardour would normally use as a shortcut"), "");
} else {
Keyboard::the_keyboard().magic_widget_grab_focus();
focus_button.remove ();
focus_button.add (*focus_in_image);
focus_in_image->show ();
- ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to remove keyboard focus from this plugin window"), "");
+ ARDOUR_UI::instance()->set_tip (&focus_button, _("Click to allow normal use of Ardour keyboard shortcuts"), "");
}
return true;
@@ -435,5 +457,16 @@ PlugUIBase::focus_toggled (GdkEventButton* ev)
void
PlugUIBase::update_presets ()
{
+ vector<string> presets = plugin->get_presets();
set_popdown_strings (preset_combo, plugin->get_presets());
+
+ string current_preset = plugin->current_preset();
+
+ if (!current_preset.empty()) {
+ for (vector<string>::iterator p = presets.begin(); p != presets.end(); ++p) {
+ if (*p == current_preset) {
+ preset_combo.set_active_text (current_preset);
+ }
+ }
+ }
}
diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h
index c308a54..4c14224 100644
--- a/gtk2_ardour/plugin_ui.h
+++ b/gtk2_ardour/plugin_ui.h
@@ -38,6 +38,8 @@
#include <gtkmm/adjustment.h>
#include <gtkmm/togglebutton.h>
#include <gtkmm/socket.h>
+#include <gtkmm/combobox.h>
+#include <gtkmm/liststore.h>
#include <gtkmm/comboboxtext.h>
#include <gtkmm/socket.h>
@@ -68,7 +70,7 @@ class PlugUIBase : public virtual sigc::trackable
{
public:
PlugUIBase (boost::shared_ptr<ARDOUR::PluginInsert>);
- virtual ~PlugUIBase() {}
+ virtual ~PlugUIBase();
virtual gint get_preferred_height () = 0;
virtual gint get_preferred_width () = 0;
@@ -87,9 +89,10 @@ class PlugUIBase : public virtual sigc::trackable
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
Gtk::EventBox focus_button;
-
+
Gtk::Image* focus_out_image;
Gtk::Image* focus_in_image;
+ bool no_load_preset;
void setting_selected();
void save_plugin_setting (void);
@@ -190,6 +193,7 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
std::vector<string> setup_scale_values(guint32 port_index, ControlUI* cui);
void control_adjustment_changed (ControlUI* cui);
void parameter_changed (uint32_t, float, ControlUI* cui);
+ void toggle_parameter_changed (uint32_t, float, ControlUI* cui);
void update_control_display (ControlUI* cui);
void control_port_toggled (ControlUI* cui);
void control_combo_changed (ControlUI* cui);
@@ -227,6 +231,7 @@ class PluginUIWindow : public Gtk::Window
private:
PlugUIBase* _pluginui;
+ sigc::connection death_connection;
Gtk::Window* parent;
Gtk::VBox vbox;
bool non_gtk_gui;
@@ -262,6 +267,22 @@ class VSTPluginUI : public PlugUIBase, public Gtk::VBox
bool configure_handler (GdkEventConfigure*, Gtk::Socket*);
void save_plugin_setting ();
+
+ struct PresetModelColumns : public Gtk::TreeModel::ColumnRecord {
+ PresetModelColumns() {
+ add (name);
+ add (number);
+ }
+ Gtk::TreeModelColumn<Glib::ustring> name;
+ Gtk::TreeModelColumn<int> number;
+ };
+
+ PresetModelColumns preset_columns;
+ Glib::RefPtr<Gtk::ListStore> preset_model;
+ Gtk::ComboBox vst_preset_combo;
+
+ void create_preset_store ();
+ void preset_chosen ();
};
#endif // VST_SUPPORT
diff --git a/gtk2_ardour/po/es_ES.po b/gtk2_ardour/po/es_ES.po
index 88ba699..0b68a77 100644
--- a/gtk2_ardour/po/es_ES.po
+++ b/gtk2_ardour/po/es_ES.po
@@ -1,302 +1,514 @@
-# Ardour Spanish translation file
-# Copyright (C) 2003-2004 Paul Davis
-# This file is distributed under the same license as the Ardour package.
-# Author: Alex Krohn <alexkrohn at fastmail.fm>
-#
msgid ""
msgstr ""
-"Project-Id-Version: ardour 0.688.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-27 13:00-0400\n"
-"PO-Revision-Date: 2004-01-21 12:45+0100\n"
-"Last-Translator: Alex Krohn <alexkrohn at fastmail.fm>\n"
-"Language-Team: Spanish\n"
+"Project-Id-Version: Ardour gtk2 translation\n"
+"Report-Msgid-Bugs-To: Grupo de Traducción al Español <traductores at teklibre.com>\n"
+"POT-Creation-Date: 2009-02-23 22:50-0600\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Grupo de Traducción al Español <traductores at teklibre.com>\n"
+"Language-Team: Grupo de Traducción al Español <traductores at teklibre.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-SourceCharset: utf-8\n"
-#: about.cc:120
-msgid "Paul Davis"
+#: gtk2_ardour/about.cc:120
+msgid "Brian Ahr"
+msgstr ""
+
+#: gtk2_ardour/about.cc:121
+msgid "John Anderson"
+msgstr ""
+
+#: gtk2_ardour/about.cc:122
+msgid "Marcus Andersson"
+msgstr ""
+
+#: gtk2_ardour/about.cc:123
+msgid "Nedko Arnaudov"
msgstr ""
-#: about.cc:121
-#, fuzzy
+#: gtk2_ardour/about.cc:124
+msgid "Ben Bell"
+msgstr ""
+
+#: gtk2_ardour/about.cc:125
+msgid "Chris Cannam"
+msgstr ""
+
+#: gtk2_ardour/about.cc:126
msgid "Jesse Chappell"
-msgstr "resetear"
+msgstr ""
-#: about.cc:122
-msgid "Taybin Rutkin"
+#: gtk2_ardour/about.cc:127
+msgid "Thomas Charbonnel"
msgstr ""
-#: about.cc:123
-msgid "Marcus Andersson"
+#: gtk2_ardour/about.cc:128
+msgid "Sam Chessman"
+msgstr ""
+
+#: gtk2_ardour/about.cc:129
+msgid "Paul Davis"
+msgstr ""
+
+#: gtk2_ardour/about.cc:130
+msgid "Gerard van Dongen"
+msgstr ""
+
+#: gtk2_ardour/about.cc:131
+msgid "Colin Fletcher"
msgstr ""
-#: about.cc:124
+#: gtk2_ardour/about.cc:132
+msgid "Hans Fugal"
+msgstr ""
+
+#: gtk2_ardour/about.cc:133
+msgid "Christopher George"
+msgstr ""
+
+#: gtk2_ardour/about.cc:134
msgid "Jeremy Hall"
msgstr ""
-#: about.cc:125
+#: gtk2_ardour/about.cc:135
+msgid "Audun Halland"
+msgstr ""
+
+#: gtk2_ardour/about.cc:136
msgid "Steve Harris"
msgstr ""
-#: about.cc:126
-msgid "Tim Mayberry"
+#: gtk2_ardour/about.cc:137
+msgid "Carl Hetherington"
msgstr ""
-#: about.cc:127
-msgid "Mark Stewart"
+#: gtk2_ardour/about.cc:138
+msgid "Rob Holland"
msgstr ""
-#: about.cc:128
-msgid "Sam Chessman"
+#: gtk2_ardour/about.cc:139
+msgid "Robert Jordens"
msgstr ""
-#: about.cc:129
-msgid "Jack O'Quin"
+#: gtk2_ardour/about.cc:140
+msgid "Stefan Kersten"
+msgstr ""
+
+#: gtk2_ardour/about.cc:141
+msgid "Armand Klenk"
msgstr ""
-#: about.cc:130
+#: gtk2_ardour/about.cc:142
msgid "Matt Krai"
msgstr ""
-#: about.cc:131
-msgid "Ben Bell"
+#: gtk2_ardour/about.cc:143
+msgid "Colin Law"
msgstr ""
-#: about.cc:132
-msgid "Gerard van Dongen"
+#: gtk2_ardour/about.cc:144
+msgid "Joshua Leach"
msgstr ""
-#: about.cc:133
-msgid "Thomas Charbonnel"
+#: gtk2_ardour/about.cc:145
+msgid "Ben Loftis"
msgstr ""
-#: about.cc:134
+#: gtk2_ardour/about.cc:146
msgid "Nick Mainsbridge"
msgstr ""
-#: about.cc:135
-msgid "Colin Law"
+#: gtk2_ardour/about.cc:147
+msgid "Tim Mayberry"
msgstr ""
-#: about.cc:136
-msgid "Sampo Savolainen"
+#: gtk2_ardour/about.cc:148
+msgid "Doug Mclain"
msgstr ""
-#: about.cc:137
-msgid "Joshua Leach"
+#: gtk2_ardour/about.cc:149
+msgid "Jack O'Quin"
msgstr ""
-#: about.cc:138
-msgid "Rob Holland"
+#: gtk2_ardour/about.cc:150
+msgid "Nimal Ratnayake"
+msgstr ""
+
+#: gtk2_ardour/about.cc:151
+msgid "Dave Robillard"
+msgstr ""
+
+#: gtk2_ardour/about.cc:152
+msgid "Taybin Rutkin"
+msgstr ""
+
+#: gtk2_ardour/about.cc:153
+msgid "Sampo Savolainen"
msgstr ""
-#: about.cc:139
+#: gtk2_ardour/about.cc:154
msgid "Per Sigmond"
msgstr ""
-#: about.cc:140
-msgid "Doug Mclain"
+#: gtk2_ardour/about.cc:155
+msgid "Mark Stewart"
msgstr ""
-#: about.cc:141
+#: gtk2_ardour/about.cc:156
+msgid "Roland Stigge"
+msgstr ""
+
+#: gtk2_ardour/about.cc:157
msgid "Petter Sundlöf"
msgstr ""
-#: about.cc:146
+#: gtk2_ardour/about.cc:158
+msgid "Mike Täht"
+msgstr ""
+
+#: gtk2_ardour/about.cc:159
+msgid "Thorsten Wilms"
+msgstr ""
+
+#: gtk2_ardour/about.cc:164
msgid ""
"French:\n"
"\tAlain Fréhel <alain.frehel at free.fr>\n"
+"\tChristophe Combelles <ccomb at free.fr>\n"
msgstr ""
-#: about.cc:147
+#: gtk2_ardour/about.cc:165
msgid ""
"German:\n"
"\tKarsten Petersen <kapet at kapet.de>\n"
+"\tSebastian Arnold <mail at sebastian-arnold.net>\n"
+"\tRobert Schwede<schwede at ironshark.com>\n"
msgstr ""
-#: about.cc:148
+#: gtk2_ardour/about.cc:168
msgid ""
"Italian:\n"
"\tFilippo Pappalardo <filippo at email.it>\n"
msgstr ""
-#: about.cc:149
+#: gtk2_ardour/about.cc:169
msgid ""
"Portuguese:\n"
"\tRui Nuno Capela <rncbc at rncbc.org>\n"
msgstr ""
-#: about.cc:150
+#: gtk2_ardour/about.cc:170
msgid ""
"Brazilian Portuguese:\n"
"\tAlexander da Franca Fernandes <alexander at nautae.eti.br>\n"
"\tChris Ross <chris at tebibyte.org>\n"
msgstr ""
-#: about.cc:152
+#: gtk2_ardour/about.cc:172
msgid ""
"Spanish:\n"
-"\t Alex Krohn <alexkrohn at fastmail.fm>\n"
+"\tAlex Krohn <alexkrohn at fastmail.fm>\n"
+"\tAngel Bidinost <angelbidinost at hotmail.com>\n"
+"\tPablo Enrici <pabloenrici at gmail.com>\n"
+"\tPablo Fernández <pablo.fbus at gmail.com>\n"
+"\tGiovanni Martínez <giovannisirias at gmail.com>\n"
+"\tDavid Täht <d at teklibre.com>\n"
+"\tOscar Valladarez <dulcevendetta at hotmail.com>\n"
+"\tDaniel Vidal <danielvidalchornet at gmail.com>\n"
msgstr ""
-#: about.cc:153
+#: gtk2_ardour/about.cc:180
msgid ""
"Russian:\n"
"\t Igor Blinov <pitstop at nm.ru>\n"
msgstr ""
-#: about.cc:181
-msgid "Copyright (C) 1999-2005 Paul Davis\n"
+#: gtk2_ardour/about.cc:181
+msgid ""
+"Greek:\n"
+"\t Klearchos Gourgourinis <muadib at in.gr>\n"
msgstr ""
-#: about.cc:182
-#, fuzzy
+#: gtk2_ardour/about.cc:182
+msgid ""
+"Swedish:\n"
+"\t Petter Sundlöf <petter.sundlof at gmail.com>\n"
+msgstr ""
+
+#: gtk2_ardour/about.cc:183
+msgid ""
+"Polish:\n"
+"\t Piotr Zaryk <pzaryk at gmail.com>\n"
+msgstr ""
+
+#: gtk2_ardour/about.cc:211
+msgid "Copyright (C) 1999-2008 Paul Davis\n"
+msgstr ""
+
+#: gtk2_ardour/about.cc:212
msgid ""
"Ardour comes with ABSOLUTELY NO WARRANTY\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; see the file COPYING for details.\n"
msgstr ""
-"Ardour no provee ningun tipo de garant�\n"
-"Este software es gratuito y usted lo puede redistribuir\n"
-"bajo ciertas condiciones;lea el archivo COPYING(en ingl�)\n"
-"para m� detalles\n"
+"Ardour no proporciona NINGUNA GARANTÍA.\n"
+"Siendo software libre, su redistribución está permitida y es bienvenida\n"
+"siempre que se respeten algunas condiciones.\n"
+"Por favor, lea el archivo COPYING para más información.\n"
-#: about.cc:188
+#: gtk2_ardour/about.cc:217
+msgid "visit http://www.ardour.org/"
+msgstr "Visite http://www.ardour.org/"
+
+#: gtk2_ardour/about.cc:218
msgid ""
"%1\n"
-"(built with ardour/gtk %2.%3.%4 libardour: %5.%6.%7)"
+"(built from revision %2)"
msgstr ""
+"%1\n"
+"(compilado de revisión %2)"
+
+#: gtk2_ardour/actions.cc:80
+#: gtk2_ardour/actions.cc:81
+msgid "badly formatted UI definition file: %1"
+msgstr "archivo de definición de interfaz de usuario mal formateado: %1"
-#: actions.cc:261
+#: gtk2_ardour/actions.cc:83
+msgid "Ardour menu definition file not found"
+msgstr "No se ha encontrado el archivo de definiciones del menu"
+
+#: gtk2_ardour/actions.cc:87
+msgid "ardour will not work without a valid ardour.menus file"
+msgstr "Ardour no funcionará sin un archivo ardour.menus válido"
+
+#: gtk2_ardour/actions.cc:325
msgid "programmer error: %1 %2"
-msgstr ""
+msgstr "error de programador: %1 %2"
-#: add_route_dialog.cc:62
-msgid "ardour: add track/bus"
-msgstr "ardour: agregar Pistas/bus"
+#: gtk2_ardour/actions.cc:344
+msgid "Unknown action name: %1"
+msgstr "Nombre de acción desconocido: %1"
-#. path = "1"
-#: add_route_dialog.cc:63 editor_route_list.cc:73
-msgid "Tracks"
-msgstr "Pistas"
+#: gtk2_ardour/add_route_dialog.cc:44
+#: gtk2_ardour/add_route_dialog.cc:276
+msgid "Mono"
+msgstr "Mono"
-#. path = "0"
-#: add_route_dialog.cc:64 editor_route_list.cc:70
-msgid "Busses"
-msgstr "Buses"
+#: gtk2_ardour/add_route_dialog.cc:45
+#: gtk2_ardour/add_route_dialog.cc:278
+msgid "Stereo"
+msgstr "Estéreo"
-#: add_route_dialog.cc:96 plugin_ui.cc:833
-msgid "Add"
-msgstr "Agregar"
+#: gtk2_ardour/add_route_dialog.cc:46
+msgid "3 Channels"
+msgstr "3 canales"
-#: add_route_dialog.cc:114
-msgid "Name (template)"
-msgstr "Nombre (esquema)"
+#: gtk2_ardour/add_route_dialog.cc:47
+msgid "4 Channels"
+msgstr "4 canales"
-#: add_route_dialog.cc:120
-#, fuzzy
-msgid "Channel Configuration"
-msgstr "Cancelar importacin"
+#: gtk2_ardour/add_route_dialog.cc:48
+msgid "6 Channels"
+msgstr "6 canales"
-#: add_route_dialog.cc:177 editor.cc:134 editor.cc:3688 time_axis_view.cc:552
+#: gtk2_ardour/add_route_dialog.cc:49
+msgid "8 Channels"
+msgstr "8 canales"
+
+#: gtk2_ardour/add_route_dialog.cc:50
+msgid "Manual Setup"
+msgstr "Configuración manual"
+
+#: gtk2_ardour/add_route_dialog.cc:55
+#: gtk2_ardour/add_route_dialog.cc:257
+#: gtk2_ardour/editor_actions.cc:613
+#: gtk2_ardour/time_axis_view.cc:641
msgid "Normal"
msgstr "Normal"
-#: add_route_dialog.cc:179
-#, fuzzy
+#: gtk2_ardour/add_route_dialog.cc:56
+#: gtk2_ardour/add_route_dialog.cc:259
msgid "Tape"
-msgstr "Inicio"
+msgstr "Cinta"
-#: add_route_dialog.cc:196
-#, fuzzy
-msgid "Mono"
-msgstr "mono"
+#: gtk2_ardour/add_route_dialog.cc:65
+msgid "ardour: add track/bus"
+msgstr "ardour: agregar pista/bus"
-#: add_route_dialog.cc:198
-#, fuzzy
-msgid "Stereo"
-msgstr "est�eo"
+#: gtk2_ardour/add_route_dialog.cc:66
+msgid "Tracks"
+msgstr "Pistas"
+
+#: gtk2_ardour/add_route_dialog.cc:67
+msgid "Busses"
+msgstr "Buses"
+
+#: gtk2_ardour/add_route_dialog.cc:68
+msgid "Using this template:"
+msgstr "Usar la plantilla: "
+
+#: gtk2_ardour/add_route_dialog.cc:117
+msgid "Add this many:"
+msgstr "Agregar:"
+
+#: gtk2_ardour/add_route_dialog.cc:142
+msgid "OR"
+msgstr "O"
+
+#: gtk2_ardour/add_route_dialog.cc:176
+msgid "Channel Configuration"
+msgstr "Configuración del canal"
+
+#: gtk2_ardour/add_route_dialog.cc:178
+msgid "Track Mode"
+msgstr "Modo de Pista"
-#. preroll stuff
-#: ardour_ui.cc:106
+#: gtk2_ardour/ardour_ui.cc:116
msgid ""
"pre\n"
"roll"
msgstr ""
+"pre\n"
+"roll"
-#: ardour_ui.cc:107
+#: gtk2_ardour/ardour_ui.cc:117
msgid ""
"post\n"
"roll"
msgstr ""
+"post\n"
+"roll"
+
+#: gtk2_ardour/ardour_ui.cc:143
+msgid "% "
+msgstr "%"
+
+#: gtk2_ardour/ardour_ui.cc:145
+#: gtk2_ardour/ardour_ui_ed.cc:333
+msgid "Punch In"
+msgstr "Pinchar"
+
+#: gtk2_ardour/ardour_ui.cc:146
+#: gtk2_ardour/ardour_ui_ed.cc:336
+msgid "Punch Out"
+msgstr "Despinchar"
+
+#: gtk2_ardour/ardour_ui.cc:147
+#: gtk2_ardour/ardour_ui_ed.cc:351
+msgid "Auto Return"
+msgstr "Auto Volver"
+
+# Reproducir Auto is too big
+#: gtk2_ardour/ardour_ui.cc:148
+#: gtk2_ardour/ardour_ui_ed.cc:348
+msgid "Auto Play"
+msgstr "Auto Play"
+
+#: gtk2_ardour/ardour_ui.cc:149
+#: gtk2_ardour/ardour_ui_ed.cc:345
+msgid "Auto Input"
+msgstr "Auto Entrada"
+
+#: gtk2_ardour/ardour_ui.cc:150
+#: gtk2_ardour/ardour_ui_ed.cc:342
+#: gtk2_ardour/option_editor.cc:157
+msgid "Click"
+msgstr "Click"
-#. transport
-#: ardour_ui.cc:115
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:151
msgid ""
"time\n"
"master"
-msgstr "M�ter de tiempo JACK"
-
-#: ardour_ui.cc:117
-msgid "% "
msgstr ""
+"tiempo\n"
+"maestro"
-#: ardour_ui.cc:119
-msgid ""
-"punch\n"
-"in"
-msgstr ""
+#: gtk2_ardour/ardour_ui.cc:153
+msgid "AUDITION"
+msgstr "AUDICIÓN"
-#: ardour_ui.cc:120
-msgid ""
-"punch\n"
-"out"
-msgstr ""
+#: gtk2_ardour/ardour_ui.cc:154
+msgid "SOLO"
+msgstr "SOLO"
-#: ardour_ui.cc:121
-msgid ""
-"auto\n"
-"return"
-msgstr ""
-"retorno\n"
-"autom�ico"
+#: gtk2_ardour/ardour_ui.cc:156
+msgid "Errors"
+msgstr "Errores"
+
+#: gtk2_ardour/ardour_ui.cc:258
+msgid "could not initialize Ardour."
+msgstr "no se pudo inicializar Ardour."
+
+#: gtk2_ardour/ardour_ui.cc:284
+msgid "Starting audio engine"
+msgstr "Arrancando motor de audio"
+
+#: gtk2_ardour/ardour_ui.cc:591
+msgid "Ardour could not start JACK"
+msgstr "Ardour no pudo arrancar JACK"
-#: ardour_ui.cc:122
+#: gtk2_ardour/ardour_ui.cc:593
+msgid "Ardour could not connect to JACK."
+msgstr "Ardour no pudo conectarse a JACK."
+
+#: gtk2_ardour/ardour_ui.cc:602
msgid ""
-"auto\n"
-"play"
+"There are several possible reasons:\n"
+"\n"
+"1) You requested audio parameters that are not supported..\n"
+"2) JACK is running as another user.\n"
+"\n"
+"Please consider the possibilities, and perhaps try different parameters."
msgstr ""
-"reproduccn\n"
-"autom�ica"
+"Hay varias razones posibles:\n"
+"\n"
+"1) Usted introdujo parámetros de audio no soportados.\n"
+"2) JACK está ejecutándose bajo otro nombre de usuario, tal vez como administrador.\n"
+"\n"
+"Considere estas posibilidades y reinicie JACK."
-#: ardour_ui.cc:123
+#: gtk2_ardour/ardour_ui.cc:609
msgid ""
-"auto\n"
-"input"
+"There are several possible reasons:\n"
+"\n"
+"1) JACK is not running.\n"
+"2) JACK is running as another user, perhaps root.\n"
+"3) There is already another client called \"ardour\".\n"
+"\n"
+"Please consider the possibilities, and perhaps (re)start JACK."
msgstr ""
-"auto\n"
-"monitoreo"
-
-#: ardour_ui.cc:124
-msgid "click"
-msgstr "metrnomo"
+"Hay varias razones posibles:\n"
+"\n"
+"1) JACK no se está ejecutando.\n"
+"2) JACK está ejecutándose bajo otro nombre de usuario, tal vez como administrador.\n"
+"3) Ya hay otro cliente de JACK ejecutándose con el nombre \"ardour\".\n"
+"\n"
+"Considere estas posibilidades y (re)inicie JACK."
-#: ardour_ui.cc:125
-msgid "AUDITIONING"
-msgstr "AUDITANDO"
+#: gtk2_ardour/ardour_ui.cc:657
+msgid "Ardour is ready for use"
+msgstr "Ardour está listo para su uso"
-#: ardour_ui.cc:126
-msgid "SOLO"
+#: gtk2_ardour/ardour_ui.cc:699
+msgid ""
+"WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory. \n"
+"\n"
+"You can view the memory limit with 'ulimit -l', and it is normally controlled by /etc/security/limits.conf"
msgstr ""
+"AVISO: Su sistema tiene un límite para la cantidad de memoria bloqueada. Esto puede causar que Ardour se quede sin memoria antes que su sistema. \n"
+"Puede comprobar este límite con 'ulimit -l'. Normalmente se controla por /etc/security/limits.conf"
+
+#: gtk2_ardour/ardour_ui.cc:707
+msgid "Do not show this window again"
+msgstr "No volver a mostrar esta ventana"
-#: ardour_ui.cc:375
+#: gtk2_ardour/ardour_ui.cc:736
msgid "quit"
msgstr "salir"
-#: ardour_ui.cc:384
+#: gtk2_ardour/ardour_ui.cc:745
msgid ""
"Ardour was unable to save your session.\n"
"\n"
@@ -304,35 +516,37 @@ msgid ""
"\n"
"\"Just quit\" option."
msgstr ""
+"Ardour no ha podido guardar su sesión.\n"
+"\n"
+"Si aún así desea salir, por favor use la opción\n"
+"\n"
+"\"Sólo quitar\"."
-#: ardour_ui.cc:403
+#: gtk2_ardour/ardour_ui.cc:771
msgid "ardour: save session?"
-msgstr "ardour: guardar sesin?"
+msgstr "ardour: ¿guardar sesión?"
-#: ardour_ui.cc:410
+#: gtk2_ardour/ardour_ui.cc:778
msgid "Don't %1"
msgstr "No %1"
-#: ardour_ui.cc:412
+#: gtk2_ardour/ardour_ui.cc:780
msgid "Just %1"
-msgstr "Slo %1"
+msgstr "Sólo %1"
-#: ardour_ui.cc:414
+#: gtk2_ardour/ardour_ui.cc:782
msgid "Save and %1"
msgstr "Guardar y %1"
-#: ardour_ui.cc:426
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:794
msgid "session"
-msgstr "Sesin"
+msgstr "sesión"
-#: ardour_ui.cc:428
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:796
msgid "snapshot"
-msgstr "Capturar instant�ea de sesin"
+msgstr "captura"
-#: ardour_ui.cc:430
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:798
msgid ""
"The %1\"%2\"\n"
"has not been saved.\n"
@@ -342,219 +556,289 @@ msgid ""
"\n"
"What do you want to do?"
msgstr ""
-"No ha guardado \"%1\"\n"
-"la sesin actual.\n"
+"No ha guardado la %1 \"%2\".\n"
"\n"
"Cualquier cambio que haya hecho\n"
-"se perder�si no selecciona guardar sesin.\n"
+"se perderá si no guarda la sesión.\n"
"\n"
-"Qu�desea hacer?"
+"¿Qué desea hacer?"
-#: ardour_ui.cc:444
+#: gtk2_ardour/ardour_ui.cc:812
msgid "Prompter"
msgstr ""
-#: ardour_ui.cc:503
-#, fuzzy, c-format
+#: gtk2_ardour/ardour_ui.cc:872
+#, c-format
msgid "disconnected"
-msgstr "Desconectar"
+msgstr "desconectado"
-#: ardour_ui.cc:510
-#, fuzzy, c-format
-msgid "SR: %.1f kHz / %4.1f msecs"
-msgstr "SR: %.1f kHz"
+#: gtk2_ardour/ardour_ui.cc:879
+#, c-format
+msgid "%.1f kHz / %4.1f ms"
+msgstr "SR: %.1f kHz/%4.1f ms"
-#: ardour_ui.cc:514
+#: gtk2_ardour/ardour_ui.cc:883
#, c-format
-msgid "SR: %u kHz / %4.1f msecs"
-msgstr ""
+msgid "%u kHz / %4.1f ms"
+msgstr "SR: %u khz/%4.1f ms"
-#: ardour_ui.cc:527
-#, fuzzy, c-format
-msgid "DSP Load: %.1f%%"
-msgstr "CPU usada: %.1f%%"
+#: gtk2_ardour/ardour_ui.cc:896
+#, c-format
+msgid "DSP: %5.1f%%"
+msgstr "DSP:%5.1f%%"
-#: ardour_ui.cc:537
-#, fuzzy, c-format
+#: gtk2_ardour/ardour_ui.cc:906
+#, c-format
msgid "Buffers p:%<PRIu32>%% c:%<PRIu32>%%"
-msgstr "Buffers p:%5.0f%% c:%5.0f%%"
+msgstr "Buf p:%<PRIu32>%% c:%<PRIu32>%%"
-#: ardour_ui.cc:564
-msgid "space: 24hrs+"
-msgstr "disponible: 24hrs+"
+#: gtk2_ardour/ardour_ui.cc:934
+msgid "Disk: 24hrs+"
+msgstr "Disco:24hrs+"
-#: ardour_ui.cc:594
+#: gtk2_ardour/ardour_ui.cc:954
#, c-format
-msgid "space: %02dh:%02dm:%02ds"
-msgstr "disponible: %02dh:%02dm:%02ds"
+msgid "Disk: %02dh:%02dm:%02ds"
+msgstr "Disco:%02dh:%02dm:%02ds"
-#: ardour_ui.cc:633
-msgid "programming error: impossible control method"
-msgstr ""
-
-#
-#: ardour_ui.cc:741 new_session_dialog.cc:294
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:1074
+#: gtk2_ardour/new_session_dialog.cc:390
msgid "Recent Sessions"
-msgstr "Abrir sesin"
+msgstr "Sesiones recientes"
+
+#: gtk2_ardour/ardour_ui.cc:1153
+msgid ""
+"Ardour is not connected to JACK\n"
+"You cannot open or close sessions in this condition"
+msgstr ""
+"Ardour no está conectado a JACK.\n"
+"No se pueden abrir ni cerrar archivos en esta condición."
-#
-#. ardour sessions are folders
-#: ardour_ui.cc:834
+#: gtk2_ardour/ardour_ui.cc:1178
msgid "open session"
-msgstr "Abrir sesin"
+msgstr "Abrir sesión"
-#: ardour_ui.cc:840
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:1185
msgid "Ardour sessions"
-msgstr "ardour: guardar sesin?"
+msgstr "Sesiones de Ardour"
-#: ardour_ui.cc:873
+#: gtk2_ardour/ardour_ui.cc:1218
msgid "Patience is a virtue.\n"
msgstr "La paciencia es una virtud.\n"
-#: ardour_ui.cc:882
-msgid "You cannot add a track without a session already loaded."
-msgstr "No puede agregar pistas hasta que haya creado o abierto una sesin."
+#: gtk2_ardour/ardour_ui.cc:1228
+msgid "You cannot add a track or bus without a session already loaded."
+msgstr "No puede agregar pistas ni buses hasta que haya creado o abierto una sesión."
+
+#: gtk2_ardour/ardour_ui.cc:1238
+#: gtk2_ardour/ardour_ui.cc:1251
+msgid "could not create a new audio track"
+msgstr "no se pudo crear la nueva pista de audio"
+
+#: gtk2_ardour/ardour_ui.cc:1240
+msgid "could only create %1 of %2 new audio %3"
+msgstr "sólo se pudieron crear %1 de %2 %3 de audio."
+
+#: gtk2_ardour/ardour_ui.cc:1241
+#: gtk2_ardour/editor_ops.cc:5905
+msgid "tracks"
+msgstr "pistas"
-#: ardour_ui.cc:889
-msgid "could not create new audio track"
-msgstr "no se pudo crear la nueva pista"
+# es correcto utilizar 'buses' en español? -> al parecer sí, desde hace poc. Chequear: http://buscon.rae.es/draeI/SrvltObtenerHtml?IDLEMA=12558&NEDIC=Si
+#: gtk2_ardour/ardour_ui.cc:1241
+#: gtk2_ardour/editor_ops.cc:5911
+msgid "busses"
+msgstr "buses"
-#: ardour_ui.cc:893
-msgid "could not create new audio bus"
-msgstr "no se pudo crear el nuevo bus"
+#: gtk2_ardour/ardour_ui.cc:1253
+msgid "could not create %1 new audio tracks"
+msgstr "no se pudo crear %1 nuevas pistas"
-#: ardour_ui.cc:912
+#: gtk2_ardour/ardour_ui.cc:1273
msgid ""
"There are insufficient JACK ports available\n"
"to create a new track or bus.\n"
"You should save Ardour, exit and\n"
"restart JACK with more ports."
msgstr ""
+"No hay suficientes puertos disponibles en JACK\n"
+"para crear nuevas pistas o buses.\n"
+"Deberá guardar, salir y\n"
+"reiniciar JACK con más puertos."
-#: ardour_ui.cc:1036
+#: gtk2_ardour/ardour_ui.cc:1423
msgid ""
"Please create 1 or more track\n"
"before trying to record.\n"
"Check the Session menu."
msgstr ""
+"Por favor, agregue al menos 1 pista\n"
+"antes de tratar de grabar.\n"
+"Vea el menú Sesión."
-#: ardour_ui.cc:1265
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:1681
msgid ""
"JACK has either been shutdown or it\n"
"disconnected Ardour because Ardour\n"
-"was not fast enough. You can save the\n"
-"session and/or try to reconnect to JACK ."
+"was not fast enough. Try to restart\n"
+"JACK, reconnect and save the session."
msgstr ""
-"El programa Jackd fue detenido o �te \n"
-"desconect a Ardour por no ser \n"
-"suficientemente r�ido.\n"
-"Usted puede guardar su sesin ahora\n"
-"sin perder los cambios hechos.Luego,reinicie a Ardour y a Jackd."
+"El servidor de audio JACK ha sido detenido o ha\n"
+"perdido su conexión con Ardour.\n"
+"Tal vez Ardour no fue lo bastante rápido.\n"
+"Intente reiniciar JACK, reconectar y guarde la sesión."
-#: ardour_ui.cc:1282
-msgid "Unable to create all required ports"
-msgstr ""
-
-#: ardour_ui.cc:1290
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:1699
msgid "Unable to start the session running"
-msgstr "Ir al inicio de la sesin"
-
-#: ardour_ui.cc:1426
-msgid "No Stream"
-msgstr "Sin Flujo"
+msgstr "Incapaz de iniciar la sesión actual"
-#: ardour_ui.cc:1453 ardour_ui.cc:1472
+#: gtk2_ardour/ardour_ui.cc:1790
+#: gtk2_ardour/ardour_ui.cc:1809
+#: gtk2_ardour/audio_clock.cc:514
+#: gtk2_ardour/audio_clock.cc:515
msgid "none"
msgstr "ninguno"
-#: ardour_ui.cc:1462 ardour_ui.cc:1481
+#: gtk2_ardour/ardour_ui.cc:1799
+#: gtk2_ardour/ardour_ui.cc:1818
msgid "off"
-msgstr "off"
+msgstr "apagado"
-#: ardour_ui.cc:1505
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:1844
msgid "Name of New Snapshot"
-msgstr "Nombre a captura de sesin"
+msgstr "Nombre de la captura de sesión"
-#: ardour_ui.cc:1651
+# se refiere a la sesión, no al Mezclador
+#: gtk2_ardour/ardour_ui.cc:1946
msgid "Name for mix template:"
-msgstr "Nombre a esquema de mixer"
+msgstr "Nombre para plantilla de mezcla:"
-#: ardour_ui.cc:1652
+#: gtk2_ardour/ardour_ui.cc:1947
msgid "-template"
-msgstr "-esquema"
+msgstr "-plantilla"
-#: ardour_ui.cc:1809
+#: gtk2_ardour/ardour_ui.cc:1976
+msgid ""
+"Welcome to Ardour.\n"
+"\n"
+"The program will take a bit longer to start up\n"
+"while the system fonts are checked.\n"
+"\n"
+"This will only be done once, and you will\n"
+"not see this message again\n"
+msgstr ""
+"Bienvenido a Ardour.\n"
+"\n"
+"El programa tardará un poco más en arrancar\n"
+"mientras se revisan las fuentes del sistema.\n"
+"\n"
+"Esto sólo se realizará una vez\n"
+"y este mensaje no volverá a aparecer.\n"
+
+#: gtk2_ardour/ardour_ui.cc:2063
+msgid ""
+"This session\n"
+"%1\n"
+"already exists. Do you want to open it?"
+msgstr ""
+"La sesión\n"
+"%1\n"
+"ya existe. ¿Quiere abrirla?"
+
+#: gtk2_ardour/ardour_ui.cc:2434
msgid ""
"You do not have write access to this session.\n"
"This prevents the session from being loaded."
msgstr ""
+"Usted no tiene acceso de escritura a esta sesión. \n"
+"Esto impide que se cargue la sesión"
+
+#: gtk2_ardour/ardour_ui.cc:2441
+msgid "Please wait while Ardour loads your session"
+msgstr "Por favor, espere a que Ardour cargue su sesión"
+
+#: gtk2_ardour/ardour_ui.cc:2456
+msgid "Port Registration Error"
+msgstr "Error de Registro de Puertos"
+
+#: gtk2_ardour/ardour_ui.cc:2457
+#: gtk2_ardour/ardour_ui.cc:2483
+msgid "Click the Close button to try again."
+msgstr "Haga click al botón Cerrar para probar otra vez."
-#: ardour_ui.cc:1822 ardour_ui.cc:1877
+#: gtk2_ardour/ardour_ui.cc:2477
msgid "Session \"%1 (snapshot %2)\" did not load successfully"
-msgstr "No se puede cargar la sesin \"%1 (captura %2)\" "
+msgstr "No se pudo cargar la sesión \"%1 (captura %2)\" "
-#: ardour_ui.cc:1933
+#: gtk2_ardour/ardour_ui.cc:2482
+msgid "Loading Error"
+msgstr "Error al Cargar"
+
+#: gtk2_ardour/ardour_ui.cc:2556
+msgid "Could not create session in \"%1\""
+msgstr "No se pudo crear la sesión en \"%1\""
+
+#: gtk2_ardour/ardour_ui.cc:2646
msgid "No audio files were ready for cleanup"
-msgstr ""
+msgstr "No hay archivos de audio listos para purgar."
-#: ardour_ui.cc:1937
+#: gtk2_ardour/ardour_ui.cc:2650
msgid ""
"If this seems suprising, \n"
"check for any existing snapshots.\n"
"These may still include regions that\n"
"require some unused files to continue to exist."
msgstr ""
+"Si esto le parece extraño, compruebe las capturas de sesión.\n"
+"Éstas todavía pueden incluir regiones que hacen que algunos\n"
+"archivos no utilizados continúen existiendo."
-#: ardour_ui.cc:1946
+#: gtk2_ardour/ardour_ui.cc:2659
msgid "ardour: cleanup"
-msgstr "ardour: limpiar"
+msgstr "ardour: purgar"
-#: ardour_ui.cc:1982 ardour_ui.cc:1988
+# usado como parámetro por mensajes (no corregir!)
+#: gtk2_ardour/ardour_ui.cc:2695
+#: gtk2_ardour/ardour_ui.cc:2701
msgid "files were"
-msgstr ""
+msgstr "archivos"
-#: ardour_ui.cc:1984 ardour_ui.cc:1990
+# usado como parámetro por mensajes (no corregir!)
+#: gtk2_ardour/ardour_ui.cc:2697
+#: gtk2_ardour/ardour_ui.cc:2703
msgid "file was"
-msgstr ""
+msgstr "archivo"
-#: ardour_ui.cc:2031
+#: gtk2_ardour/ardour_ui.cc:2744
msgid "Are you sure you want to cleanup?"
-msgstr ""
+msgstr "¿Está seguro que quiere purgar?"
-#: ardour_ui.cc:2036
+#: gtk2_ardour/ardour_ui.cc:2749
msgid ""
"Cleanup is a destructive operation.\n"
"ALL undo/redo information will be lost if you cleanup.\n"
-"After cleanup, unused audio files will be moved to a \"dead sounds\" "
-"location."
+"After cleanup, unused audio files will be moved to a \"dead sounds\" location."
msgstr ""
+"Purgar es una operación destructiva.\n"
+"TODA la información del historial deshacer/rehacer se perderá.\n"
+"Después de purgar, los archivos de audio no utilizados se\n"
+"moverán a la carpeta \"dead sounds\"."
-#: ardour_ui.cc:2042
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:2755
msgid "Clean Up"
-msgstr "Limpiar"
+msgstr "Mover archivos no usados a papelera"
-#: ardour_ui.cc:2045
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:2758
msgid "CleanupDialog"
-msgstr "Limpiar"
-
-#: ardour_ui.cc:2046
-#, fuzzy
-msgid "ardour_cleanup"
-msgstr "ardour: limpiar"
+msgstr "Purgar"
-#: ardour_ui.cc:2065
+#: gtk2_ardour/ardour_ui.cc:2789
msgid "cleaned files"
-msgstr "archivos limpios"
+msgstr "archivos purgados"
-#: ardour_ui.cc:2066
-#, fuzzy
+# debí adaptar para que al completarse con los parámetros el mensaje tuviera sentido en español
+# (quedaba mal por los plurales y la ambigüedad was=fue/estuvo)
+#: gtk2_ardour/ardour_ui.cc:2790
msgid ""
"The following %1 %2 not in use and \n"
"have been moved to:\n"
@@ -564,30 +848,55 @@ msgid ""
"release an additional\n"
"%4 %5bytes of disk space.\n"
msgstr ""
-"Los siguientes %1 archivos no estaban en uso \n"
-"Cuando vuelva a vaciar la papelera\n"
-"se liberar�%2 megabytes de espacio en disco \n"
+"%1 %2 no estaba/n en uso y se ha/n movido a:\n"
+"%3. \n"
+"\n"
+"Vaciar la papelera liberará\n"
+"%4 %5bytes de espacio en disco.\n"
-#: ardour_ui.cc:2091
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:2816
msgid "deleted file"
-msgstr "archivos eliminados"
+msgstr "archivo eliminado"
-#: ardour_ui.cc:2092
-#, fuzzy
+# debí adaptar para que al completarse con los parámetros el mensaje tuviera sentido en español
+# (quedaba mal por los plurales y la ambigüedad was=fue/estuvo)
+#: gtk2_ardour/ardour_ui.cc:2817
msgid ""
"The following %1 %2 deleted from\n"
"%3,\n"
"releasing %4 %5bytes of disk space"
msgstr ""
-"Los siguientes %1 archivos fueron eliminados, liberando %2 megabytes de "
-"espacio"
+"%1 %2 eliminado/s de\n"
+"%3,\n"
+"liberando %4 %5bytes de espacio en disco."
-#: ardour_ui.cc:2215
+#: gtk2_ardour/ardour_ui.cc:2952
msgid "Recording was stopped because your system could not keep up."
-msgstr "Se detuvo la grabacin porque el sistema se sobrecarg"
+msgstr "Se detuvo la grabación porque el sistema se sobrecargó."
+
+#: gtk2_ardour/ardour_ui.cc:2986
+msgid "Preset Exists"
+msgstr "El preset existe"
-#: ardour_ui.cc:2238
+#: gtk2_ardour/ardour_ui.cc:2987
+msgid ""
+"A preset with this name already exists for this plugin.\n"
+"\n"
+"What you would like to do?\n"
+msgstr ""
+"Ya existe un preset con ese nombre para este plugin\n"
+"\n"
+"¿Qué desea hacer?\n"
+
+#: gtk2_ardour/ardour_ui.cc:2995
+msgid "Overwrite the existing preset"
+msgstr "Sobreescribir el preset existente"
+
+#: gtk2_ardour/ardour_ui.cc:2996
+msgid "Leave the existing preset alone"
+msgstr "Dejar el preset existente"
+
+#: gtk2_ardour/ardour_ui.cc:3020
msgid ""
"The disk system on your computer\n"
"was not able to keep up with Ardour.\n"
@@ -595,8 +904,13 @@ msgid ""
"Specifically, it failed to write data to disk\n"
"quickly enough to keep up with recording.\n"
msgstr ""
+"El sistema de archivos en disco de su ordenador\n"
+"no ha sido capaz de seguir el ritmo de Ardour.\n"
+"\n"
+"En concreto, la velocidad de escritura de datos en el disco\n"
+"no fue lo bastante alta como para permitir la grabación.\n"
-#: ardour_ui.cc:2257
+#: gtk2_ardour/ardour_ui.cc:3039
msgid ""
"The disk system on your computer\n"
"was not able to keep up with Ardour.\n"
@@ -604,8 +918,17 @@ msgid ""
"Specifically, it failed to read data from disk\n"
"quickly enough to keep up with playback.\n"
msgstr ""
+"El sistema de archivos en disco de su ordenador\n"
+"no ha sido capaz de seguir el ritmo de Ardour.\n"
+"\n"
+"En concreto, la velocidad de lectura de datos desde el disco\n"
+"no fue lo bastante alta como para permitir la reproducción.\n"
+
+#: gtk2_ardour/ardour_ui.cc:3079
+msgid "Crash Recovery"
+msgstr "Recuperación del crash"
-#: ardour_ui.cc:2283
+#: gtk2_ardour/ardour_ui.cc:3080
msgid ""
"This session appears to have been in\n"
"middle of recording when ardour or\n"
@@ -615,5030 +938,6415 @@ msgid ""
"you, or it can ignore it. Please decide\n"
"what you would like to do.\n"
msgstr ""
+"Parece que esta sesión estaba en proceso\n"
+"de grabación cuando se cerró Ardour o\n"
+"se apagó el ordenador.\n"
+"\n"
+"Ardour puede recuperar el audio capturado\n"
+"o usted puede simplemente ignorarlo. Por favor,\n"
+"decida qué desea hacer.\n"
-#: ardour_ui.cc:2293
+#: gtk2_ardour/ardour_ui.cc:3092
+msgid "Ignore crash data"
+msgstr "Ignorar información del crash"
+
+#: gtk2_ardour/ardour_ui.cc:3093
msgid "Recover from crash"
-msgstr ""
+msgstr "Recuperar del crash"
-#: ardour_ui.cc:2294
-msgid "Ignore crash data"
+#: gtk2_ardour/ardour_ui.cc:3113
+msgid "Sample Rate Mismatch"
+msgstr "Discrepancia de frecuencia de muestreo"
+
+#: gtk2_ardour/ardour_ui.cc:3114
+msgid ""
+"This session was created with a sample rate of %1 Hz\n"
+"\n"
+"The audioengine is currently running at %2 Hz\n"
msgstr ""
+"Esta sesión fue creada con una frecuencia de muestreo de %1 Hz\n"
+"\n"
+"El motor de audio se está ejecutando a %2 Hz\n"
-#: ardour_ui.cc:2312
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:3123
+msgid "Do not load session"
+msgstr "No cargar sesión"
+
+#: gtk2_ardour/ardour_ui.cc:3124
+msgid "Load session anyway"
+msgstr "Cargar sesión de todas formas"
+
+#: gtk2_ardour/ardour_ui.cc:3145
msgid "Could not disconnect from JACK"
-msgstr "No se pudo conectar a JACK con el nombre \"%1\""
+msgstr "No se pudo desconectar de JACK"
-#: ardour_ui.cc:2325
-#, fuzzy
+#: gtk2_ardour/ardour_ui.cc:3158
msgid "Could not reconnect to JACK"
-msgstr "No se pudo conectar a JACK con el nombre \"%1\""
+msgstr "No se pudo reconectar a JACK"
-#: ardour_ui2.cc:60
+#: gtk2_ardour/ardour_ui2.cc:62
msgid "UI: cannot setup editor"
-msgstr "no se pudo iniciar el editor"
+msgstr "interfaz de usuario: no se pudo configurar el editor"
-#: ardour_ui2.cc:65
+#: gtk2_ardour/ardour_ui2.cc:67
msgid "UI: cannot setup mixer"
-msgstr "no se pudo iniciar el mixer"
-
-#: ardour_ui2.cc:91
-msgid "MMC + Local"
-msgstr ""
+msgstr "interfaz de usuario: no se pudo configurar el mezclador"
-#: ardour_ui2.cc:92
-msgid "MMC"
-msgstr ""
+#: gtk2_ardour/ardour_ui2.cc:110
+msgid "[ERROR]: "
+msgstr "[ERROR]:"
-#: ardour_ui2.cc:93
-msgid "Local"
-msgstr ""
+#: gtk2_ardour/ardour_ui2.cc:112
+msgid "[WARNING]: "
+msgstr "[AVISO]:"
-#: ardour_ui2.cc:110
-msgid "MMC ID"
-msgstr ""
+#: gtk2_ardour/ardour_ui2.cc:114
+msgid "[INFO]: "
+msgstr "[INFORMACIÓN]"
-#: ardour_ui2.cc:291
+#: gtk2_ardour/ardour_ui2.cc:291
msgid "Play from playhead"
-msgstr "Reproduzir a partir del in�io"
+msgstr "Reproducir desde Cursor"
-#: ardour_ui2.cc:292
+#: gtk2_ardour/ardour_ui2.cc:292
msgid "Stop playback"
-msgstr "Detener la reproduccion"
+msgstr "Detener la reproducción"
-#: ardour_ui2.cc:293
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:293
msgid "Play range/selection"
-msgstr "Reproducir seleccin"
+msgstr "Reproducir rango/selección"
-#: ardour_ui2.cc:294
+#: gtk2_ardour/ardour_ui2.cc:294
msgid "Go to start of session"
-msgstr "Ir al inicio de la sesin"
+msgstr "Ir a Inicio de Sesión"
-#: ardour_ui2.cc:295
+#: gtk2_ardour/ardour_ui2.cc:295
msgid "Go to end of session"
-msgstr "Ir al final de la sesin"
+msgstr "Ir a Final de Sesión"
-#: ardour_ui2.cc:296
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:296
msgid "Play loop range"
-msgstr "Reproducir el intervalo cont�uamente"
+msgstr "Reproducir rango de bucle"
-#: ardour_ui2.cc:297
+#: gtk2_ardour/ardour_ui2.cc:298
msgid "Return to last playback start when stopped"
-msgstr "Al detenerse, volver a donde inici la reproduccin"
+msgstr "Al detenerse, volver al último inicio de reproducción"
-#: ardour_ui2.cc:298
+#: gtk2_ardour/ardour_ui2.cc:299
msgid "Start playback after any locate"
-msgstr ""
-"Reproducir inmedi�amente despu� de relocalizar la barra de reproduccin"
+msgstr "Iniciar playback tras cualquier localización"
-#: ardour_ui2.cc:299
+#: gtk2_ardour/ardour_ui2.cc:300
msgid "Be sensible about input monitoring"
-msgstr "Monitorizacin sensible de entradas"
+msgstr "Monitorización sensible de entradas"
-#: ardour_ui2.cc:300
+#: gtk2_ardour/ardour_ui2.cc:301
msgid "Start recording at auto-punch start"
-msgstr "Iniciar grabacin en el punto auto-punch start(inicio)"
+msgstr "Iniciar grabación al pinchar inincio"
-#: ardour_ui2.cc:301
+#: gtk2_ardour/ardour_ui2.cc:302
msgid "Stop recording at auto-punch end"
-msgstr "Detener grabacin en el punto auto-punch end(final)"
+msgstr "Detener grabación al despinchar"
-#: ardour_ui2.cc:302
+#: gtk2_ardour/ardour_ui2.cc:303
msgid "Enable/Disable audio click"
-msgstr "Habilitar/desabilitar metrnomo"
+msgstr "Activar/Desactivar metrónomo"
-#: ardour_ui2.cc:303
+#: gtk2_ardour/ardour_ui2.cc:304
msgid "Positional sync source"
-msgstr ""
+msgstr "Fuente de sincronización posicional"
-#: ardour_ui2.cc:304
+#: gtk2_ardour/ardour_ui2.cc:305
msgid "Does Ardour control the time?"
-msgstr ""
+msgstr "¿Controla el tiempo Ardour?"
-#: ardour_ui2.cc:305
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:306
msgid "Shuttle speed control"
-msgstr "Control de velocidad y sentido de reproduccin(pitch)"
+msgstr "Control de velocidad de shuttle"
-#: ardour_ui2.cc:306
-#, fuzzy, c-format
+#: gtk2_ardour/ardour_ui2.cc:307
+#, c-format
msgid "Select semitones or %%-age for speed display"
-msgstr "Mostrar velocidad en semitonos o %-age"
+msgstr "Mostrar en semitonos o porcentaje"
-#: ardour_ui2.cc:307
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:308
msgid "Current transport speed"
msgstr "Velocidad actual de transporte"
-#: ardour_ui2.cc:330
+#: gtk2_ardour/ardour_ui2.cc:329
msgid "Primary clock"
msgstr "Reloj primario"
-#: ardour_ui2.cc:331
+#: gtk2_ardour/ardour_ui2.cc:330
msgid "secondary clock"
msgstr "Reloj secundario"
-#. XXX: this should really be saved in instant.xml or something similar and restored from there
-#. Combo's are stupid - they steal space from the entry for the button
-#: ardour_ui2.cc:388 ardour_ui2.cc:833 ardour_ui2.cc:846 ardour_ui2.cc:909
-#: ardour_ui2.cc:911
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:356
+msgid ""
+"When active, something is soloed.\n"
+"Click to de-solo everything"
+msgstr ""
+"Cuando activado, algo está en solo.\n"
+"Haga click para desactivar todos los solos"
+
+#: gtk2_ardour/ardour_ui2.cc:357
+msgid ""
+"When active, auditioning is taking place\n"
+"Click to stop the audition"
+msgstr ""
+"Cuando activado, se está produciendo audición\n"
+"Haga click para parar la audición"
+
+#: gtk2_ardour/ardour_ui2.cc:385
+#: gtk2_ardour/ardour_ui2.cc:831
+#: gtk2_ardour/ardour_ui_options.cc:1174
msgid "sprung"
-msgstr "Salto"
+msgstr "resorte"
-#: ardour_ui2.cc:389 ardour_ui2.cc:835 ardour_ui2.cc:857
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:386
+#: gtk2_ardour/ardour_ui2.cc:833
+#: gtk2_ardour/ardour_ui_options.cc:1185
msgid "wheel"
-msgstr "Rueda"
+msgstr "rueda"
-#: ardour_ui2.cc:451
-msgid "ardour: clock"
-msgstr "ardour: reloj"
-
-#: ardour_ui2.cc:596
-#, fuzzy
+#: gtk2_ardour/ardour_ui2.cc:605
msgid "Maximum speed"
-msgstr "velocidad"
+msgstr "Velocidad máxima"
-#: ardour_ui2.cc:823
-msgid "st"
-msgstr ""
+#: gtk2_ardour/ardour_ui2.cc:843
+#: gtk2_ardour/ardour_ui2.cc:866
+msgid "stop"
+msgstr "0,0"
+
+#: gtk2_ardour/ardour_ui2.cc:885
+msgid "-0.55"
+msgstr "-0,55"
+
+#: gtk2_ardour/ardour_ui_dependents.cc:74
+msgid "Setup Editor"
+msgstr "Configurar Editor"
-#: ardour_ui2.cc:867 ardour_ui2.cc:890 ardour_ui2.cc:907
-msgid "stopped"
-msgstr "detenido"
+#: gtk2_ardour/ardour_ui_dependents.cc:76
+msgid "Setup Mixer"
+msgstr "Configurar Mezclador"
-#: ardour_ui_dialogs.cc:153 playlist_selector.cc:70
-#, fuzzy
+#: gtk2_ardour/ardour_ui_dependents.cc:81
+msgid "Reload Session History"
+msgstr "Recargar Historial de Sesión"
+
+#: gtk2_ardour/ardour_ui_dialogs.cc:169
+#: gtk2_ardour/playlist_selector.cc:73
msgid "close"
msgstr "Cerrar"
-#: ardour_ui_dialogs.cc:360 ardour_ui_ed.cc:184
-#, fuzzy
-msgid "Sound File Browser"
-msgstr "Biblioteca de audio"
-
-#. menus + submenus that need action items
-#: ardour_ui_ed.cc:72
+#: gtk2_ardour/ardour_ui_ed.cc:90
msgid "Session"
-msgstr "Sesin"
+msgstr "Sesión"
-#: ardour_ui_ed.cc:73 ardour_ui_ed.cc:130 editor.cc:1836 export_dialog.cc:350
-#: export_dialog.cc:1059 export_dialog.cc:1063
-msgid "Export"
-msgstr "Exportar"
+#: gtk2_ardour/ardour_ui_ed.cc:91
+msgid "Import/Export"
+msgstr "Importar/Exportar"
-#: ardour_ui_ed.cc:74
+#: gtk2_ardour/ardour_ui_ed.cc:92
msgid "Cleanup"
-msgstr "Limpiar"
+msgstr "Purgar"
-#: ardour_ui_ed.cc:75 option_editor.cc:126
+#: gtk2_ardour/ardour_ui_ed.cc:93
+#: gtk2_ardour/editor_actions.cc:88
+#: gtk2_ardour/option_editor.cc:153
msgid "Sync"
-msgstr "Sincronizacin"
+msgstr "Sinc"
-#: ardour_ui_ed.cc:76 ardour_ui_ed.cc:77
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:94
+#: gtk2_ardour/ardour_ui_ed.cc:95
+#: gtk2_ardour/engine_dialog.cc:343
msgid "Options"
-msgstr "Opciones Editor"
+msgstr "Opciones"
-#: ardour_ui_ed.cc:78
+#: gtk2_ardour/ardour_ui_ed.cc:96
msgid "Help"
-msgstr ""
+msgstr "Ayuda"
-#: ardour_ui_ed.cc:79
-msgid "KeyMouse Actions"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:97
+msgid "Misc. Shortcuts"
+msgstr "Atajos misceláneos"
-#: ardour_ui_ed.cc:80
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:98
msgid "Audio File Format"
-msgstr "Cuadros de Audio"
+msgstr "Formato de archivo de audio"
-#: ardour_ui_ed.cc:81
-#, fuzzy
-msgid "Header"
-msgstr "Pre-Fader"
+#: gtk2_ardour/ardour_ui_ed.cc:99
+#: gtk2_ardour/export_dialog.cc:106
+msgid "File Type"
+msgstr "Tipo de archivo"
-#: ardour_ui_ed.cc:82
-msgid "Data"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:100
+#: gtk2_ardour/export_dialog.cc:107
+msgid "Sample Format"
+msgstr "Formato de muestra"
-#: ardour_ui_ed.cc:83
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:101
msgid "Control Surfaces"
-msgstr "Control de Salidas"
+msgstr "Superficies de control"
+
+#: gtk2_ardour/ardour_ui_ed.cc:102
+msgid "Metering"
+msgstr "Vúmetros"
+
+#: gtk2_ardour/ardour_ui_ed.cc:103
+msgid "Fall off rate"
+msgstr "Tasa de decaimiento"
+
+#: gtk2_ardour/ardour_ui_ed.cc:104
+msgid "Hold Time"
+msgstr "Tiempo de persistencia"
+
+#: gtk2_ardour/ardour_ui_ed.cc:105
+msgid "Denormal Handling"
+msgstr "Manejo de Denormals"
-#. the real actions
-#: ardour_ui_ed.cc:87 audio_time_axis.cc:1854 new_session_dialog.cc:529
+#: gtk2_ardour/ardour_ui_ed.cc:109
+#: gtk2_ardour/new_session_dialog.cc:856
+#: gtk2_ardour/route_time_axis.cc:1408
msgid "New"
-msgstr "Nuevo"
+msgstr "Nueva"
-#: ardour_ui_ed.cc:89 new_session_dialog.cc:517
+#: gtk2_ardour/ardour_ui_ed.cc:111
+#: gtk2_ardour/new_session_dialog.cc:836
+#: gtk2_ardour/new_session_dialog.cc:848
msgid "Open"
msgstr "Abrir"
-#: ardour_ui_ed.cc:90
+#: gtk2_ardour/ardour_ui_ed.cc:112
msgid "Recent"
-msgstr "Reciente"
+msgstr "Recientes"
-#: ardour_ui_ed.cc:91 io_selector.cc:58 io_selector.cc:792
+#: gtk2_ardour/ardour_ui_ed.cc:113
+#: gtk2_ardour/io_selector.cc:59
+#: gtk2_ardour/io_selector.cc:749
+#: gtk2_ardour/connection_editor.cc:58
msgid "Close"
msgstr "Cerrar"
-#: ardour_ui_ed.cc:94 route_params_ui.cc:514
+#: gtk2_ardour/ardour_ui_ed.cc:116
+#: gtk2_ardour/route_params_ui.cc:516
msgid "Add Track/Bus"
msgstr "Agregar Pista/Bus"
-#: ardour_ui_ed.cc:105
+#: gtk2_ardour/ardour_ui_ed.cc:128
msgid "Connect"
msgstr "Conectar"
-#. </CMT Additions>
-#: ardour_ui_ed.cc:113
+#: gtk2_ardour/ardour_ui_ed.cc:136
msgid "Snapshot"
-msgstr "Capturar instant�ea de sesin"
+msgstr "Capturar sesión"
-#: ardour_ui_ed.cc:116
+#: gtk2_ardour/ardour_ui_ed.cc:139
msgid "Save Template..."
-msgstr "Guardar esquema"
+msgstr "Guardar plantilla..."
-#: ardour_ui_ed.cc:119
+#: gtk2_ardour/ardour_ui_ed.cc:142
msgid "Export session to audiofile..."
-msgstr "Exportar sesin a archivo de audio"
+msgstr "Exportar sesión a archivo de audio..."
-#: ardour_ui_ed.cc:122
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:145
msgid "Export selection to audiofile..."
-msgstr "Exportar sesin a archivo de audio"
+msgstr "Exportar selección a archivo de audio..."
-#: ardour_ui_ed.cc:126
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:149
msgid "Export range markers to audiofile..."
-msgstr "Exportar sesin a archivo de audio"
+msgstr "Exportar marcas de rango a archivo de audio..."
+
+#: gtk2_ardour/ardour_ui_ed.cc:153
+#: gtk2_ardour/editor.cc:1857
+#: gtk2_ardour/export_dialog.cc:126
+#: gtk2_ardour/export_dialog.cc:375
+#: gtk2_ardour/export_dialog.cc:1163
+#: gtk2_ardour/export_dialog.cc:1167
+msgid "Export"
+msgstr "Exportar"
-#: ardour_ui_ed.cc:133
+#: gtk2_ardour/ardour_ui_ed.cc:156
msgid "Cleanup unused sources"
-msgstr "Arrojar archivos no usados a papelera"
+msgstr "Mover archivos no usados a papelera"
-#: ardour_ui_ed.cc:135
+#: gtk2_ardour/ardour_ui_ed.cc:158
msgid "Flush wastebasket"
msgstr "Vaciar papelera"
-#: ardour_ui_ed.cc:141 ardour_ui_options.cc:408 ardour_ui_options.cc:417
-#: ardour_ui_options.cc:489
+#: gtk2_ardour/ardour_ui_ed.cc:164
msgid "JACK"
msgstr "JACK"
-#: ardour_ui_ed.cc:142
+#: gtk2_ardour/ardour_ui_ed.cc:165
msgid "Latency"
-msgstr ""
+msgstr "Latencia"
-#: ardour_ui_ed.cc:144
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:167
msgid "Reconnect"
-msgstr "Conectar"
+msgstr "Reconectar"
-#: ardour_ui_ed.cc:147 mixer_strip.cc:497 mixer_strip.cc:565
+#: gtk2_ardour/ardour_ui_ed.cc:170
+#: gtk2_ardour/mixer_strip.cc:578
+#: gtk2_ardour/mixer_strip.cc:640
msgid "Disconnect"
msgstr "Desconectar"
-#: ardour_ui_ed.cc:174
-msgid "Windows"
-msgstr "Ventanas"
+#: gtk2_ardour/ardour_ui_ed.cc:197
+msgid "Window"
+msgstr "Ventana"
-#: ardour_ui_ed.cc:175
-msgid "start prefix"
-msgstr ""
-
-#: ardour_ui_ed.cc:176
+#: gtk2_ardour/ardour_ui_ed.cc:198
msgid "Quit"
msgstr "Salir"
-#. windows visibility actions
-#: ardour_ui_ed.cc:180
+#: gtk2_ardour/ardour_ui_ed.cc:202
msgid "Maximise Editor Space"
-msgstr ""
+msgstr "Maximizar Editor"
-#: ardour_ui_ed.cc:182
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:204
msgid "Show Editor"
-msgstr "Editor"
+msgstr "Mostrar Editor"
-#: ardour_ui_ed.cc:183
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:205
msgid "Show Mixer"
-msgstr "Mixer"
+msgstr "Mostrar Mezclador"
+
+#: gtk2_ardour/ardour_ui_ed.cc:206
+msgid "Toggle Editor Mixer on Top"
+msgstr "Mezclador encima/debajo"
-#: ardour_ui_ed.cc:185
-msgid "Options Editor"
-msgstr "Opciones Editor"
+#: gtk2_ardour/ardour_ui_ed.cc:207
+#: gtk2_ardour/option_editor.cc:125
+msgid "Preferences"
+msgstr "Preferencias"
-#: ardour_ui_ed.cc:186
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:208
+#: gtk2_ardour/route_params_ui.cc:143
+#: gtk2_ardour/route_params_ui.cc:662
msgid "Track/Bus Inspector"
-msgstr "Pistas/Buses"
+msgstr "Inspector de Pistas/Buses"
-#: ardour_ui_ed.cc:188
+#: gtk2_ardour/ardour_ui_ed.cc:210
+#: gtk2_ardour/connection_editor.cc:146
+#: gtk2_ardour/connection_editor.cc:147
msgid "Connections"
-msgstr "Conecciones"
+msgstr "Conexiones"
-#: ardour_ui_ed.cc:190
+#: gtk2_ardour/ardour_ui_ed.cc:212
+#: gtk2_ardour/location_ui.cc:630
msgid "Locations"
-msgstr "Localizaciones"
+msgstr "Lugares"
-#: ardour_ui_ed.cc:192
+#: gtk2_ardour/ardour_ui_ed.cc:214
msgid "Big Clock"
msgstr "Reloj Grande"
-#: ardour_ui_ed.cc:194
+#: gtk2_ardour/ardour_ui_ed.cc:216
msgid "About"
msgstr "Acerca de"
-#: ardour_ui_ed.cc:195
-#, fuzzy
-msgid "Colors"
-msgstr "Color"
+#: gtk2_ardour/ardour_ui_ed.cc:217
+msgid "Theme Manager"
+msgstr "Gestor de temas"
-#: ardour_ui_ed.cc:197
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:218
+msgid "Keybindings"
+msgstr "Combinaciones de teclas"
+
+#: gtk2_ardour/ardour_ui_ed.cc:220
msgid "Add Audio Track"
-msgstr "Agregar Pista/Bus"
+msgstr "Agregar Pista de Audio"
-#: ardour_ui_ed.cc:199
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:222
msgid "Add Audio Bus"
-msgstr "Ocultar todos los Buses"
+msgstr "Agregar Bus de Audio"
-#: ardour_ui_ed.cc:201
+#: gtk2_ardour/ardour_ui_ed.cc:224
+#: gtk2_ardour/plugin_ui.cc:328
msgid "Save"
msgstr "Guardar"
-#: ardour_ui_ed.cc:203 editor_actions.cc:255
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:226
+#: gtk2_ardour/editor_actions.cc:584
msgid "Remove Last Capture"
-msgstr "Quitar ltima captura"
+msgstr "Borrar Última Captura"
-#. do-nothing action for the "transport" menu bar item
-#: ardour_ui_ed.cc:210
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:233
msgid "Transport"
-msgstr "Traductores"
+msgstr "Transporte"
-#. these two are not used by key bindings, instead use ToggleRoll for that. these two do show up in
-#. menus and via button proxies.
-#.
-#: ardour_ui_ed.cc:216 sfdb_ui.cc:57
+#: gtk2_ardour/ardour_ui_ed.cc:239
+#: gtk2_ardour/engine_dialog.cc:59
+#: gtk2_ardour/sfdb_ui.cc:184
msgid "Stop"
-msgstr "Detener"
+msgstr "Stop"
-#: ardour_ui_ed.cc:219
+#: gtk2_ardour/ardour_ui_ed.cc:242
msgid "Roll"
-msgstr ""
+msgstr "Roll"
-#: ardour_ui_ed.cc:223
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:246
msgid "Start/Stop"
-msgstr "Inicio:"
+msgstr "Reproducir/Detener"
-#: ardour_ui_ed.cc:226
+#: gtk2_ardour/ardour_ui_ed.cc:249
msgid "Stop + Forget Capture"
-msgstr ""
+msgstr "Detener + Olvidar captura"
+
+# it's not literal, but it's what it does
+# translating to "rollo" or "rodar" doesn't make much sense in spanish
+# am I missing something?
+#: gtk2_ardour/ardour_ui_ed.cc:259
+msgid "Transition To Roll"
+msgstr "Transición hacia Adelante"
-#: ardour_ui_ed.cc:229
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:263
+msgid "Transition To Reverse"
+msgstr "Transición hacia Atrás"
+
+#: gtk2_ardour/ardour_ui_ed.cc:268
msgid "Play Loop Range"
-msgstr "Reproducir el intervalo cont�uamente"
+msgstr "Reproducir Rango de Bucle"
-#: ardour_ui_ed.cc:232
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:271
msgid "Play Selection"
-msgstr "Reproducir regin selecionada"
+msgstr "Reproducir selección"
-#: ardour_ui_ed.cc:236
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:275
msgid "Enable Record"
-msgstr "Grabar"
+msgstr "Habilitar grabación"
-#: ardour_ui_ed.cc:239
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:277
+msgid "Start Recording"
+msgstr "Iniciar grabación"
+
+#: gtk2_ardour/ardour_ui_ed.cc:280
msgid "Rewind"
-msgstr "Regin"
+msgstr "Rebobinar"
-#: ardour_ui_ed.cc:242
+#: gtk2_ardour/ardour_ui_ed.cc:283
msgid "Rewind (Slow)"
-msgstr ""
+msgstr "Rebobinar (Lento)"
-#: ardour_ui_ed.cc:245
+#: gtk2_ardour/ardour_ui_ed.cc:286
msgid "Rewind (Fast)"
-msgstr ""
+msgstr "Rebobinar (Rápido)"
-#: ardour_ui_ed.cc:248
+#: gtk2_ardour/ardour_ui_ed.cc:289
msgid "Forward"
-msgstr ""
+msgstr "Adelante"
-#: ardour_ui_ed.cc:251
+#: gtk2_ardour/ardour_ui_ed.cc:292
msgid "Forward (Slow)"
-msgstr ""
+msgstr "Adelante (Lento)"
-#: ardour_ui_ed.cc:254
+#: gtk2_ardour/ardour_ui_ed.cc:295
msgid "Forward (Fast)"
-msgstr ""
+msgstr "Adelante (Rápido)"
-#: ardour_ui_ed.cc:257
+#: gtk2_ardour/ardour_ui_ed.cc:298
msgid "Goto Zero"
-msgstr ""
+msgstr "Ir al Cero"
-#: ardour_ui_ed.cc:260
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:301
msgid "Goto Start"
-msgstr "Inicio:"
+msgstr "Ir al Inicio"
-#: ardour_ui_ed.cc:263
+#: gtk2_ardour/ardour_ui_ed.cc:304
msgid "Goto End"
-msgstr ""
+msgstr "Ir al Final"
-#. XXX the newline in the displayed names of these action is really wrong, but its because we want the button
-#. that proxies for these action to be more compact. It would be nice to find a way to override the action
-#. name appearance on the buttons.
-#.
-#: ardour_ui_ed.cc:272
-#, fuzzy
-msgid ""
-"Punch\n"
-"in"
-msgstr "Insercin"
+#: gtk2_ardour/ardour_ui_ed.cc:307
+msgid "Goto Wall Clock"
+msgstr "Ir al Reloj de Pared"
-#: ardour_ui_ed.cc:275
-#, fuzzy
-msgid ""
-"Punch\n"
-"out"
-msgstr "Insercin"
+#: gtk2_ardour/ardour_ui_ed.cc:311
+msgid "Focus On Clock"
+msgstr "Enfocar en Reloj"
-#: ardour_ui_ed.cc:278 option_editor.cc:129
-msgid "Click"
-msgstr "Metrnomo"
+#: gtk2_ardour/ardour_ui_ed.cc:315
+#: gtk2_ardour/ardour_ui_ed.cc:324
+#: gtk2_ardour/editor_actions.cc:707
+msgid "Bars & Beats"
+msgstr "Compases:Pulsos"
-#: ardour_ui_ed.cc:281
-#, fuzzy
-msgid ""
-"Auto\n"
-"input"
-msgstr ""
-"auto\n"
-"monitoreo"
+#: gtk2_ardour/ardour_ui_ed.cc:317
+#: gtk2_ardour/ardour_ui_ed.cc:326
+msgid "Minutes & Seconds"
+msgstr "Minutos:Segundos"
-#: ardour_ui_ed.cc:284
-#, fuzzy
-msgid ""
-"Auto\n"
-"play"
-msgstr ""
-"reproduccn\n"
-"autom�ica"
+#: gtk2_ardour/ardour_ui_ed.cc:319
+#: gtk2_ardour/ardour_ui_ed.cc:328
+#: gtk2_ardour/audio_clock.cc:1952
+#: gtk2_ardour/editor.cc:205
+#: gtk2_ardour/editor_actions.cc:708
+msgid "Samples"
+msgstr "Muestras"
+
+#: gtk2_ardour/ardour_ui_ed.cc:321
+#: gtk2_ardour/ardour_ui_ed.cc:330
+#: gtk2_ardour/ardour_ui_ed.cc:522
+#: gtk2_ardour/ardour_ui_ed.cc:530
+#: gtk2_ardour/audio_clock.cc:1953
+msgid "Off"
+msgstr "Apagado"
-#: ardour_ui_ed.cc:287
-#, fuzzy
-msgid ""
-"Auto\n"
-"return"
-msgstr ""
-"retorno\n"
-"autom�ico"
+#: gtk2_ardour/ardour_ui_ed.cc:339
+msgid "Punch In/Out"
+msgstr "Pinchar/Despinchar"
-#: ardour_ui_ed.cc:291
-#, fuzzy
-msgid ""
-"Time\n"
-"master"
-msgstr "M�ter de tiempo JACK"
+#: gtk2_ardour/ardour_ui_ed.cc:355
+msgid "Sync startup to video"
+msgstr "Sincronizar Inicio a video"
+
+#: gtk2_ardour/ardour_ui_ed.cc:356
+msgid "Time master"
+msgstr "Maestro"
-#: ardour_ui_ed.cc:294
+#: gtk2_ardour/ardour_ui_ed.cc:359
msgid "Toggle Record Enable Track1"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 1"
-#: ardour_ui_ed.cc:296
+#: gtk2_ardour/ardour_ui_ed.cc:361
msgid "Toggle Record Enable Track2"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 2"
-#: ardour_ui_ed.cc:298
+#: gtk2_ardour/ardour_ui_ed.cc:363
msgid "Toggle Record Enable Track3"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 3"
-#: ardour_ui_ed.cc:300
+#: gtk2_ardour/ardour_ui_ed.cc:365
msgid "Toggle Record Enable Track4"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 4"
-#: ardour_ui_ed.cc:302
+#: gtk2_ardour/ardour_ui_ed.cc:367
msgid "Toggle Record Enable Track5"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 5"
-#: ardour_ui_ed.cc:304
+#: gtk2_ardour/ardour_ui_ed.cc:369
msgid "Toggle Record Enable Track6"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 6"
-#: ardour_ui_ed.cc:306
+#: gtk2_ardour/ardour_ui_ed.cc:371
msgid "Toggle Record Enable Track7"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 7"
-#: ardour_ui_ed.cc:308
+#: gtk2_ardour/ardour_ui_ed.cc:373
msgid "Toggle Record Enable Track8"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 8"
-#: ardour_ui_ed.cc:310
+#: gtk2_ardour/ardour_ui_ed.cc:375
msgid "Toggle Record Enable Track9"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 9"
-#: ardour_ui_ed.cc:312
+#: gtk2_ardour/ardour_ui_ed.cc:377
msgid "Toggle Record Enable Track10"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 10"
-#: ardour_ui_ed.cc:314
+#: gtk2_ardour/ardour_ui_ed.cc:379
msgid "Toggle Record Enable Track11"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 11"
-#: ardour_ui_ed.cc:316
+#: gtk2_ardour/ardour_ui_ed.cc:381
msgid "Toggle Record Enable Track12"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 12"
-#: ardour_ui_ed.cc:318
+#: gtk2_ardour/ardour_ui_ed.cc:383
msgid "Toggle Record Enable Track13"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 13"
-#: ardour_ui_ed.cc:320
+#: gtk2_ardour/ardour_ui_ed.cc:385
msgid "Toggle Record Enable Track14"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 14"
-#: ardour_ui_ed.cc:322
+#: gtk2_ardour/ardour_ui_ed.cc:387
msgid "Toggle Record Enable Track15"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 15"
-#: ardour_ui_ed.cc:324
+#: gtk2_ardour/ardour_ui_ed.cc:389
msgid "Toggle Record Enable Track16"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 16"
-#: ardour_ui_ed.cc:326
+#: gtk2_ardour/ardour_ui_ed.cc:391
msgid "Toggle Record Enable Track17"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 17"
-#: ardour_ui_ed.cc:328
+#: gtk2_ardour/ardour_ui_ed.cc:393
msgid "Toggle Record Enable Track18"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 18"
-#: ardour_ui_ed.cc:330
+#: gtk2_ardour/ardour_ui_ed.cc:395
msgid "Toggle Record Enable Track19"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 19"
-#: ardour_ui_ed.cc:332
+#: gtk2_ardour/ardour_ui_ed.cc:397
msgid "Toggle Record Enable Track20"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 20"
-#: ardour_ui_ed.cc:334
+#: gtk2_ardour/ardour_ui_ed.cc:399
msgid "Toggle Record Enable Track21"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 21"
-#: ardour_ui_ed.cc:336
+#: gtk2_ardour/ardour_ui_ed.cc:401
msgid "Toggle Record Enable Track22"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 22"
-#: ardour_ui_ed.cc:338
+#: gtk2_ardour/ardour_ui_ed.cc:403
msgid "Toggle Record Enable Track23"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 23"
-#: ardour_ui_ed.cc:340
+#: gtk2_ardour/ardour_ui_ed.cc:405
msgid "Toggle Record Enable Track24"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 24"
-#: ardour_ui_ed.cc:342
+#: gtk2_ardour/ardour_ui_ed.cc:407
msgid "Toggle Record Enable Track25"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 25"
-#: ardour_ui_ed.cc:344
+#: gtk2_ardour/ardour_ui_ed.cc:409
msgid "Toggle Record Enable Track26"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 26"
-#: ardour_ui_ed.cc:346
+#: gtk2_ardour/ardour_ui_ed.cc:411
msgid "Toggle Record Enable Track27"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 27"
-#: ardour_ui_ed.cc:348
+#: gtk2_ardour/ardour_ui_ed.cc:413
msgid "Toggle Record Enable Track28"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 28"
-#: ardour_ui_ed.cc:350
+#: gtk2_ardour/ardour_ui_ed.cc:415
msgid "Toggle Record Enable Track29"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 29"
-#: ardour_ui_ed.cc:352
+#: gtk2_ardour/ardour_ui_ed.cc:417
msgid "Toggle Record Enable Track30"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 30"
-#: ardour_ui_ed.cc:354
+#: gtk2_ardour/ardour_ui_ed.cc:419
msgid "Toggle Record Enable Track31"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 31"
-#: ardour_ui_ed.cc:356
+#: gtk2_ardour/ardour_ui_ed.cc:421
msgid "Toggle Record Enable Track32"
-msgstr ""
+msgstr "Activar/Desactivar grabación Pista 32"
-#: ardour_ui_ed.cc:361
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:426
msgid "Percentage"
-msgstr "Porcentage"
+msgstr "Porcentaje"
-#: ardour_ui_ed.cc:362
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:427
msgid "Semitones"
msgstr "Semitonos"
-#: ardour_ui_ed.cc:366
+#: gtk2_ardour/ardour_ui_ed.cc:431
msgid "Send MTC"
msgstr "Enviar MTC"
-#: ardour_ui_ed.cc:368
+#: gtk2_ardour/ardour_ui_ed.cc:433
msgid "Send MMC"
msgstr "Enviar MMC"
-#: ardour_ui_ed.cc:370
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:435
msgid "Use MMC"
-msgstr "Enviar MMC"
+msgstr "Usar MMC"
-#: ardour_ui_ed.cc:372
+#: gtk2_ardour/ardour_ui_ed.cc:437
msgid "Send MIDI feedback"
-msgstr ""
+msgstr "Enviar MIDI feedback"
+
+#: gtk2_ardour/ardour_ui_ed.cc:440
+msgid "Use OSC"
+msgstr "Usar OSC"
-#: ardour_ui_ed.cc:374
-#, fuzzy
-msgid "Use MIDI control"
-msgstr "Puerto MMC"
-
-#: ardour_ui_ed.cc:377
-#, fuzzy
-msgid "Connect new track inputs to hardware"
-msgstr "Conectar nuevas pistas autom�icamente"
-
-#: ardour_ui_ed.cc:396
-#, fuzzy
-msgid "Connect new track outputs to hardware"
-msgstr "Conectar nuevas pistas autom�icamente"
-
-#: ardour_ui_ed.cc:398
-#, fuzzy
-msgid "Connect new track outputs to master"
-msgstr "conectar autom�icamente salidas de pistas a salidas Master"
-
-#: ardour_ui_ed.cc:400
-#, fuzzy
-msgid "Manually connect new track outputs"
-msgstr "conectar pistas manualmente"
-
-#: ardour_ui_ed.cc:405
-#, fuzzy
-msgid "Hardware monitoring"
-msgstr "Monitorizacin por Hardware"
-
-#: ardour_ui_ed.cc:406
-#, fuzzy
-msgid "Software monitoring"
-msgstr "Monitorizacin por Software"
-
-#: ardour_ui_ed.cc:407
-#, fuzzy
-msgid "External monitoring"
-msgstr "Monitorizacin por Hardware"
-
-#. Configuration object options (i.e. not session specific)
-#: ardour_ui_ed.cc:411
+#: gtk2_ardour/ardour_ui_ed.cc:444
+msgid "Tape Machine mode"
+msgstr "Modo magnetófono"
+
+#: gtk2_ardour/ardour_ui_ed.cc:447
+msgid "Sync Editor and Mixer track order"
+msgstr "Sincronizar orden de pistas en Editor y Mezclador"
+
+#: gtk2_ardour/ardour_ui_ed.cc:448
msgid "Stop plugins with transport"
msgstr "No procesar plugins durante transporte"
-#: ardour_ui_ed.cc:412
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:449
+msgid "New plugins are active"
+msgstr "Plugins inician activados"
+
+#: gtk2_ardour/ardour_ui_ed.cc:450
msgid "Verify remove last capture"
-msgstr "Quitar ltima captura"
+msgstr "Confirmar borrado de última captura"
+
+#: gtk2_ardour/ardour_ui_ed.cc:451
+msgid "Make periodic safety backups"
+msgstr "Copias de seguridad periódicas"
-#: ardour_ui_ed.cc:413
+#: gtk2_ardour/ardour_ui_ed.cc:452
msgid "Stop recording on xrun"
-msgstr "Detener grabacin al detectar un XRUN"
+msgstr "Detener grabación al detectar un xRUN"
-#: ardour_ui_ed.cc:414
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:453
+msgid "Create marker at xrun location"
+msgstr "Crear marca al suceder un xRUN"
+
+#: gtk2_ardour/ardour_ui_ed.cc:454
msgid "Stop transport at session end"
-msgstr "Detener el transporte al llegar al final de la sesin"
+msgstr "Detener transporte al final de la sesión"
-#: ardour_ui_ed.cc:415
+#: gtk2_ardour/ardour_ui_ed.cc:455
msgid "-12dB gain reduce ffwd/rewind"
-msgstr ""
+msgstr "Reducción de ganacia de -12db al Reproducir/Rebobinar"
-#: ardour_ui_ed.cc:416
+#: gtk2_ardour/ardour_ui_ed.cc:456
msgid "Rec-enable stays engaged at stop"
-msgstr ""
+msgstr "Mantiene habilitación de grabar al detener"
-#. session options
-#: ardour_ui_ed.cc:420
-#, fuzzy
+#: gtk2_ardour/ardour_ui_ed.cc:457
+msgid "Region equivalents overlap"
+msgstr "Regiones equivalentes se superponen"
+
+#: gtk2_ardour/ardour_ui_ed.cc:458
+msgid "Primary Clock delta to edit point"
+msgstr "Reloj Primario muestra diferencia al Punto de Edición"
+
+#: gtk2_ardour/ardour_ui_ed.cc:459
+msgid "Secondary Clock delta to edit point"
+msgstr "Reloj Secundario muestra diferencia al Punto de Edición"
+
+#: gtk2_ardour/ardour_ui_ed.cc:460
+msgid "Enable Editor Meters"
+msgstr "Habilitar Vúmetros en Editor"
+
+#: gtk2_ardour/ardour_ui_ed.cc:461
+msgid "Always copy imported files"
+msgstr "Siempre copiar los archivos importados"
+
+#: gtk2_ardour/ardour_ui_ed.cc:462
+msgid "Rubberbanding Snaps to Grid"
+msgstr "Rubberband encaja en rejilla"
+
+#: gtk2_ardour/ardour_ui_ed.cc:463
+msgid "Auto-analyse new audio"
+msgstr "Auto-analizar nuevo audio"
+
+#: gtk2_ardour/ardour_ui_ed.cc:465
+msgid "Use narrow mixer strips"
+msgstr "Usar canales estrechos en Mezclador"
+
+#: gtk2_ardour/ardour_ui_ed.cc:466
+msgid "Name New Markers"
+msgstr "Nombrar Marcas nuevas"
+
+#: gtk2_ardour/ardour_ui_ed.cc:470
+msgid "Use DC bias"
+msgstr "Usar DC bias"
+
+#: gtk2_ardour/ardour_ui_ed.cc:472
+msgid "No processor handling"
+msgstr "Ningún manejo de procesador"
+
+#: gtk2_ardour/ardour_ui_ed.cc:481
+#: gtk2_ardour/ardour_ui_ed.cc:492
+msgid "Use FlushToZero"
+msgstr "Usar FlushToZero"
+
+#: gtk2_ardour/ardour_ui_ed.cc:483
+#: gtk2_ardour/ardour_ui_ed.cc:497
+msgid "Use DenormalsAreZero"
+msgstr "Usar DenormalsAreZero"
+
+#: gtk2_ardour/ardour_ui_ed.cc:485
+#: gtk2_ardour/ardour_ui_ed.cc:502
+msgid "Use FlushToZero & DenormalsAreZero"
+msgstr "Usar FlushToZero y DenormalsAreZero"
+
+#: gtk2_ardour/ardour_ui_ed.cc:508
msgid "Do not run plugins while recording"
-msgstr "Procesar plugins durante la grabacin"
+msgstr "No ejecutar plugins durante la grabación"
-#: ardour_ui_ed.cc:423
+#: gtk2_ardour/ardour_ui_ed.cc:510
msgid "Latched solo"
-msgstr ""
+msgstr "Solo retenido"
-#: ardour_ui_ed.cc:428
-#, fuzzy
-msgid "Solo in-place"
-msgstr "Solo"
+#: gtk2_ardour/ardour_ui_ed.cc:512
+msgid "Show solo muting"
+msgstr "Mostrar mudos de solo"
-#: ardour_ui_ed.cc:430
-msgid "Solo via bus"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:514
+msgid "Override muting"
+msgstr "Solo invalida mudo"
-#: ardour_ui_ed.cc:433
-#, fuzzy
-msgid "Automatically create crossfades"
-msgstr "Crosfade autom�ico si dos regiones se superponen"
+#: gtk2_ardour/ardour_ui_ed.cc:523
+#: gtk2_ardour/editor.cc:1443
+#: gtk2_ardour/editor.cc:1446
+#: gtk2_ardour/editor.cc:1465
+#: gtk2_ardour/editor.cc:1468
+msgid "Slowest"
+msgstr "Lentísima"
-#: ardour_ui_ed.cc:435
-msgid "Unmute new full crossfades"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:524
+#: gtk2_ardour/editor.cc:1447
+#: gtk2_ardour/editor.cc:1469
+msgid "Slow"
+msgstr "Lenta"
-#: ardour_ui_options.cc:406 ardour_ui_options.cc:416 ardour_ui_options.cc:483
-#, fuzzy
-msgid "Internal"
-msgstr "interno"
+#: gtk2_ardour/ardour_ui_ed.cc:525
+#: gtk2_ardour/ardour_ui_ed.cc:532
+msgid "Medium"
+msgstr "Media"
-#: ardour_ui_options.cc:407 ardour_ui_options.cc:486
-msgid "MTC"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:526
+#: gtk2_ardour/editor.cc:1448
+#: gtk2_ardour/editor.cc:1470
+#: gtk2_ardour/sfdb_ui.cc:1259
+#: gtk2_ardour/sfdb_ui.cc:1340
+msgid "Fast"
+msgstr "Rápida"
-#: audio_clock.cc:1742 editor.cc:188
-msgid "SMPTE"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:527
+msgid "Faster"
+msgstr "Más rápida"
-#: audio_clock.cc:1743 editor.cc:187 editor_rulers.cc:360
-msgid "Bars:Beats"
-msgstr "Compaces:Pulsos"
+#: gtk2_ardour/ardour_ui_ed.cc:528
+#: gtk2_ardour/editor.cc:1449
+#: gtk2_ardour/editor.cc:1471
+#: gtk2_ardour/sfdb_ui.cc:1260
+msgid "Fastest"
+msgstr "Rapidísima"
-#: audio_clock.cc:1744
-msgid "Minutes:Seconds"
-msgstr "Minutos:Segundos"
+#: gtk2_ardour/ardour_ui_ed.cc:531
+#: gtk2_ardour/editor_actions.cc:110
+msgid "Short"
+msgstr "Corto"
-#: audio_clock.cc:1745
-msgid "Audio Frames"
-msgstr "Cuadros de Audio"
+#: gtk2_ardour/ardour_ui_ed.cc:533
+msgid "Long"
+msgstr "Largo"
-#.
-#. Slowest = 6.6dB/sec falloff at update rate of 40ms
-#. Slow = 6.8dB/sec falloff at update rate of 40ms
-#.
-#: audio_clock.cc:1746 editor_actions.cc:375 editor_actions.cc:383
-#: gain_meter.cc:172 panner_ui.cc:89 plugin_ui.cc:392 plugin_ui.cc:635
-msgid "Off"
-msgstr "Deshabilitar"
+#: gtk2_ardour/ardour_ui_ed.cc:558
+msgid "JACK does monitoring"
+msgstr "Monitorización por JACK"
-#: audio_clock.cc:1748
-msgid "Mode"
-msgstr "Modo"
+#: gtk2_ardour/ardour_ui_ed.cc:562
+msgid "Ardour does monitoring"
+msgstr "Monitorización por Ardour"
-#: audio_time_axis.cc:91
-msgid "m"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:563
+msgid "Audio Hardware does monitoring"
+msgstr "Monitorización por Hardware de Audio "
-#: audio_time_axis.cc:91
-msgid "s"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:567
+msgid "Solo in-place"
+msgstr "Solo in situ"
-#: audio_time_axis.cc:91
-msgid "r"
-msgstr ""
+#: gtk2_ardour/ardour_ui_ed.cc:569
+msgid "Solo via bus"
+msgstr "Solo via bus"
-#: audio_time_axis.cc:95
-msgid "g"
+#: gtk2_ardour/ardour_ui_ed.cc:574
+msgid "Auto-connect inputs to physical inputs"
+msgstr "Auto-conectar entradas a entradas físicas"
+
+#: gtk2_ardour/ardour_ui_ed.cc:576
+msgid "Manually connect inputs"
+msgstr "Conectar entradas manualmente"
+
+#: gtk2_ardour/ardour_ui_ed.cc:581
+msgid "Auto-connect outputs to physical outs"
+msgstr "Auto-conectar salidas a salidas físicas"
+
+#: gtk2_ardour/ardour_ui_ed.cc:583
+msgid "Auto-connect outputs to master bus"
+msgstr "Auto-conectar salidas a bus Master"
+
+#: gtk2_ardour/ardour_ui_ed.cc:585
+msgid "Manually connect outputs"
+msgstr "Conectar salidas manualmente"
+
+#: gtk2_ardour/ardour_ui_ed.cc:590
+msgid "Remote ID assigned by User"
+msgstr "ID remota asignada por usuario"
+
+#: gtk2_ardour/ardour_ui_ed.cc:592
+msgid "Remote ID follows order of Mixer"
+msgstr "ID remota sigue orden de Mezclador"
+
+#: gtk2_ardour/ardour_ui_ed.cc:594
+msgid "Remote ID follows order of Editor"
+msgstr "ID remota sigue orden de Editor"
+
+# no estoy seguro...
+#: gtk2_ardour/ardour_ui_ed.cc:597
+msgid "Auto Rebind Controls"
+msgstr "Auto Asignar Controles"
+
+#: gtk2_ardour/ardour_ui_ed.cc:747
+#: gtk2_ardour/generic_pluginui.cc:173
+msgid "Controls"
+msgstr "Controles"
+
+#: gtk2_ardour/ardour_ui_ed.cc:751
+msgid "Feedback"
+msgstr "Realimentación"
+
+#: gtk2_ardour/ardour_ui_ed.cc:857
+msgid "Clock"
+msgstr "Reloj"
+
+#: gtk2_ardour/ardour_ui_options.cc:119
+#: gtk2_ardour/ardour_ui_options.cc:149
+#: gtk2_ardour/audio_streamview.cc:172
+#: gtk2_ardour/editor_actions.cc:1246
+#: gtk2_ardour/editor_actions.cc:1605
+#: gtk2_ardour/editor_actions.cc:1618
+#: gtk2_ardour/editor_actions.cc:1682
+msgid "programming error: %1"
+msgstr "error de programación: %1"
+
+#: gtk2_ardour/ardour_ui_options.cc:228
+msgid "programming error: unknown solo model in ARDOUR_UI::set_solo_model: %1"
msgstr ""
-#. group
-#: audio_time_axis.cc:96
-msgid "p"
+#: gtk2_ardour/ardour_ui_options.cc:261
+msgid "programming error: unknown remote model in ARDOUR_UI::set_remote_model: %1"
msgstr ""
-#: audio_time_axis.cc:97 automation_time_axis.cc:32 visual_time_axis.cc:74
-msgid "h"
+#: gtk2_ardour/ardour_ui_options.cc:295
+msgid "programming error: unknown monitor model in ARDOUR_UI::set_monitor_model: %1"
msgstr ""
-#. height
-#: audio_time_axis.cc:98
-msgid "a"
+#: gtk2_ardour/ardour_ui_options.cc:334
+msgid "programming error: unknown denormal model in ARDOUR_UI::set_denormal_model: %1"
msgstr ""
-#: audio_time_axis.cc:99 visual_time_axis.cc:73
-msgid "v"
+#: gtk2_ardour/ardour_ui_options.cc:793
+msgid "programming error: unknown file header format passed to ARDOUR_UI::map_file_data_format: %1"
msgstr ""
-#: audio_time_axis.cc:168 mixer_strip.cc:86
-msgid "Record"
-msgstr "Grabar"
+#: gtk2_ardour/ardour_ui_options.cc:829
+msgid "programming error: unknown file data format passed to ARDOUR_UI::map_file_data_format: %1"
+msgstr ""
-#: audio_time_axis.cc:169 editor_actions.cc:37 mixer_strip.cc:86
-msgid "Solo"
-msgstr "Solo"
+#: gtk2_ardour/ardour_ui_options.cc:1196
+msgid "ST"
+msgstr "st"
-#: audio_time_axis.cc:170 editor.cc:1760 editor.cc:1859 mixer_strip.cc:86
-#: panner_ui.cc:427
-msgid "Mute"
-msgstr ""
+#: gtk2_ardour/audio_clock.cc:1948
+#: gtk2_ardour/editor.cc:204
+#: gtk2_ardour/editor_actions.cc:709
+msgid "Timecode"
+msgstr "Timecode"
-#: audio_time_axis.cc:171
-msgid "Edit Group"
-msgstr "Editar Grupo"
+#: gtk2_ardour/audio_clock.cc:1950
+#: gtk2_ardour/editor.cc:203
+msgid "Bars:Beats"
+msgstr "Compases:Pulsos"
-#: audio_time_axis.cc:172 visual_time_axis.cc:92
-msgid "Display Height"
-msgstr "Tamao de pista"
+#: gtk2_ardour/audio_clock.cc:1951
+msgid "Minutes:Seconds"
+msgstr "Minutos:Segundos"
-#: audio_time_axis.cc:173
-msgid "Playlist"
-msgstr "Lista de reproduccin"
+#: gtk2_ardour/audio_region_editor.cc:48
+msgid "NAME:"
+msgstr "NOMBRE:"
-#: audio_time_axis.cc:174 audio_time_axis.cc:741
-msgid "Automation"
-msgstr "Automatizacin"
+#: gtk2_ardour/audio_region_editor.cc:49
+msgid "play"
+msgstr "reproducir"
-#: audio_time_axis.cc:175 visual_time_axis.cc:93
-msgid "Visual options"
-msgstr "Opciones visuales"
+#: gtk2_ardour/audio_region_editor.cc:72
+msgid "audition this region"
+msgstr "audicionar esta región"
-#: audio_time_axis.cc:176 visual_time_axis.cc:94
-msgid "Hide this track"
-msgstr "Ocultar esta pista"
+#: gtk2_ardour/audio_region_editor.cc:87
+msgid "POSITION:"
+msgstr "POSICIÓN:"
-#: audio_time_axis.cc:333 mixer_strip.cc:927
-msgid "No group"
-msgstr "Sin grupo"
+#: gtk2_ardour/audio_region_editor.cc:89
+msgid "END:"
+msgstr "FINAL:"
-#: audio_time_axis.cc:702 automation_time_axis.cc:450
-#: imageframe_time_axis.cc:255 marker_time_axis.cc:211
-msgid "Height"
-msgstr "Altura"
+#: gtk2_ardour/audio_region_editor.cc:91
+msgid "LENGTH:"
+msgstr "DURACIÓN:"
-#: audio_time_axis.cc:703 color_manager.cc:41 imageframe_time_axis.cc:256
-#: marker_time_axis.cc:212
-msgid "Color"
-msgstr "Color"
+#: gtk2_ardour/audio_region_editor.cc:93
+msgid "SYNC POINT:"
+msgstr "PUNTO DE SINC:"
-#: audio_time_axis.cc:707
-msgid "Hide all crossfades"
-msgstr ""
+#: gtk2_ardour/audio_region_editor.cc:95
+msgid "FILE START:"
+msgstr "INICIO DE ARCHIVO:"
-#: audio_time_axis.cc:708
-msgid "Show all crossfades"
-msgstr ""
+#: gtk2_ardour/audio_region_editor.cc:141
+msgid "Region %1"
+msgstr "Región %1"
-#: audio_time_axis.cc:712 mixer_strip.cc:1011
-#, fuzzy
-msgid "Remote Control ID"
-msgstr "Remover punto de sincron�"
+#: gtk2_ardour/audio_region_editor.cc:223
+msgid "change region start position"
+msgstr "cambiar posición del inicio de región"
-#: audio_time_axis.cc:718
-#, fuzzy
-msgid "Show all automation"
-msgstr "Mostrar toda automatizacin"
+#: gtk2_ardour/audio_region_editor.cc:240
+msgid "change region end position"
+msgstr "cambiar posición del final de región"
-#: audio_time_axis.cc:721
-#, fuzzy
-msgid "Show existing automation"
-msgstr "Mostrar toda automatizacin"
+#: gtk2_ardour/audio_region_editor.cc:261
+msgid "change region length"
+msgstr "cambiar duración de región "
-#: audio_time_axis.cc:724
-#, fuzzy
-msgid "Hide all automation"
-msgstr "ocultar toda automatizacin"
+#: gtk2_ardour/audio_region_view.cc:975
+msgid "add gain control point"
+msgstr "añadir punto de control de ganancia"
-#: audio_time_axis.cc:729
-#, fuzzy
+#: gtk2_ardour/audio_time_axis.cc:237
msgid "Fader"
-msgstr "Fades"
+msgstr "Atenuador"
-#: audio_time_axis.cc:734
-#, fuzzy
+#: gtk2_ardour/audio_time_axis.cc:242
msgid "Pan"
-msgstr "balance"
+msgstr "Panorámica"
-#: audio_time_axis.cc:739
-msgid "Plugins"
-msgstr ""
+#: gtk2_ardour/audio_time_axis.cc:258
+msgid "Hide all crossfades"
+msgstr "Ocultar todos los fundidos cruzados"
+
+#: gtk2_ardour/audio_time_axis.cc:259
+msgid "Show all crossfades"
+msgstr "Mostrar todos los fundidos cruzados"
-#: audio_time_axis.cc:747
+#: gtk2_ardour/audio_time_axis.cc:267
msgid "Show waveforms"
msgstr "Mostrar onda de audio"
-#: audio_time_axis.cc:755
+#: gtk2_ardour/audio_time_axis.cc:277
msgid "Traditional"
msgstr "Tradicional"
-#: audio_time_axis.cc:758
+#: gtk2_ardour/audio_time_axis.cc:281
msgid "Rectified"
-msgstr "Corregido"
+msgstr "Rectificada"
+
+#: gtk2_ardour/audio_time_axis.cc:291
+#: gtk2_ardour/editor.cc:1442
+#: gtk2_ardour/editor.cc:1445
+#: gtk2_ardour/editor.cc:1464
+#: gtk2_ardour/editor.cc:1467
+#: gtk2_ardour/editor_actions.cc:795
+msgid "Linear"
+msgstr "Lineal"
-#: audio_time_axis.cc:761
+#: gtk2_ardour/audio_time_axis.cc:294
+#: gtk2_ardour/editor_actions.cc:797
+msgid "Logarithmic"
+msgstr "Logarítmica"
+
+#: gtk2_ardour/audio_time_axis.cc:313
msgid "Waveform"
msgstr "Onda de audio"
-#: audio_time_axis.cc:771
-#, fuzzy
-msgid "Align with existing material"
-msgstr "Material existente"
-
-#: audio_time_axis.cc:776
-#, fuzzy
-msgid "Align with capture time"
-msgstr "Tiempo de captura"
-
-#: audio_time_axis.cc:782
-#, fuzzy
-msgid "Alignment"
-msgstr "Alinear"
-
-#: audio_time_axis.cc:788 editor.cc:527 editor_actions.cc:60
-#: mixer_strip.cc:1000 mixer_ui.cc:111
-msgid "Active"
-msgstr "Activar"
-
-#: audio_time_axis.cc:793 editor.cc:1922 editor_actions.cc:320
-#: editor_markers.cc:508 imageframe_time_axis.cc:259 location_ui.cc:57
-#: marker_time_axis.cc:215 mixer_strip.cc:1014
-msgid "Remove"
-msgstr "Quitar"
-
-#: audio_time_axis.cc:833
-#, fuzzy
-msgid "Name for playlist"
-msgstr "Nombre a captura de sesin"
-
-#: audio_time_axis.cc:835 audio_time_axis.cc:1851 editor_markers.cc:827
-#: editor_mouse.cc:4673 imageframe_time_axis.cc:248 marker_time_axis.cc:208
-#: meter_bridge_strip.cc:224 mixer_strip.cc:998 redirect_box.cc:751
-#: redirect_box.cc:1065 route_ui.cc:739 visual_time_axis.cc:326
-msgid "Rename"
-msgstr "Renombrar"
-
-#: audio_time_axis.cc:868 audio_time_axis.cc:908
-#, fuzzy
-msgid "Name for Playlist"
-msgstr "Nombre a captura de sesin"
-
-#: audio_time_axis.cc:1126 visual_time_axis.cc:383
-msgid "a track already exists with that name"
-msgstr "ya existe una pista con este nombre"
-
-#: audio_time_axis.cc:1167 editor.cc:218
+#: gtk2_ardour/audio_time_axis.cc:385
msgid "gain"
-msgstr "volumen"
+msgstr "ganancia"
-#: audio_time_axis.cc:1207
+#: gtk2_ardour/audio_time_axis.cc:425
msgid "pan"
-msgstr "balance"
-
-#: audio_time_axis.cc:1410 editor.cc:1483 selection.cc:634
-msgid "programming error: "
-msgstr ""
-
-#: audio_time_axis.cc:1848
-msgid "Current: %1"
-msgstr "Actual: %1"
+msgstr "panorámica"
-#: audio_time_axis.cc:1855
-msgid "New Copy"
-msgstr "Nueva Copia"
+#: gtk2_ardour/automation_line.cc:610
+msgid "Ignoring illegal points on AutomationLine \"%1\""
+msgstr "Ignorando puntos inválidos de AutomationLine \"%1\""
-#: audio_time_axis.cc:1857
-msgid "Clear Current"
-msgstr "Borrar actual"
-
-#: audio_time_axis.cc:1859 editor.cc:2024 editor.cc:2100
-msgid "Select"
-msgstr "Seleccionar"
-
-#: automation_line.cc:884
-#, fuzzy
+#: gtk2_ardour/automation_line.cc:800
msgid "automation event move"
-msgstr "mover evento de automatizacin"
+msgstr "mover evento de automatización"
-#: automation_line.cc:886
-#, fuzzy
+#: gtk2_ardour/automation_line.cc:802
msgid "automation range drag"
-msgstr "desplazar intervalo de automatizacin"
+msgstr "desplazar rango de automatización"
-#: automation_line.cc:1015 region_gain_line.cc:62
-#, fuzzy
+#: gtk2_ardour/automation_line.cc:1043
+#: gtk2_ardour/region_gain_line.cc:85
msgid "remove control point"
-msgstr "Remover punto de sincron�"
+msgstr "Remover punto de control"
-#: automation_time_axis.cc:33 editor_ops.cc:2885
+#: gtk2_ardour/automation_time_axis.cc:55
+#: gtk2_ardour/editor_ops.cc:3747
msgid "clear"
-msgstr "borrar"
-
-#: automation_time_axis.cc:75
-msgid "track height"
-msgstr ""
+msgstr "limpiar"
-#: automation_time_axis.cc:76
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:99
msgid "automation state"
-msgstr "estado de automatizacin de balance"
+msgstr "estado de automatización"
-#: automation_time_axis.cc:77
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:100
msgid "clear track"
-msgstr "borrar intervalos"
+msgstr "limpiar pista"
-#: automation_time_axis.cc:78
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:101
msgid "hide track"
-msgstr "Ocultar esta pista"
-
-#: automation_time_axis.cc:184 automation_time_axis.cc:213
-#: automation_time_axis.cc:461
+msgstr "ocultar pista"
+
+#: gtk2_ardour/automation_time_axis.cc:206
+#: gtk2_ardour/automation_time_axis.cc:235
+#: gtk2_ardour/automation_time_axis.cc:423
+#: gtk2_ardour/gain_meter.cc:182
+#: gtk2_ardour/generic_pluginui.cc:337
+#: gtk2_ardour/generic_pluginui.cc:608
+#: gtk2_ardour/panner_ui.cc:177
msgid "Manual"
-msgstr ""
-
-#: automation_time_axis.cc:186 automation_time_axis.cc:224
-#: automation_time_axis.cc:465 editor.cc:2001 editor.cc:2082 gain_meter.cc:174
-#: panner_ui.cc:91 plugin_ui.cc:395 plugin_ui.cc:637 sfdb_ui.cc:56
+msgstr "Manual"
+
+#: gtk2_ardour/automation_time_axis.cc:208
+#: gtk2_ardour/automation_time_axis.cc:246
+#: gtk2_ardour/automation_time_axis.cc:427
+#: gtk2_ardour/editor.cc:2102
+#: gtk2_ardour/editor.cc:2185
+#: gtk2_ardour/editor_actions.cc:71
+#: gtk2_ardour/gain_meter.cc:184
+#: gtk2_ardour/generic_pluginui.cc:340
+#: gtk2_ardour/generic_pluginui.cc:610
+#: gtk2_ardour/panner_ui.cc:179
msgid "Play"
msgstr "Reproducir"
-#: automation_time_axis.cc:188 automation_time_axis.cc:235
-#: automation_time_axis.cc:469 gain_meter.cc:176 panner_ui.cc:93
-#: plugin_ui.cc:398 plugin_ui.cc:639
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:210
+#: gtk2_ardour/automation_time_axis.cc:257
+#: gtk2_ardour/automation_time_axis.cc:431
+#: gtk2_ardour/gain_meter.cc:186
+#: gtk2_ardour/generic_pluginui.cc:343
+#: gtk2_ardour/generic_pluginui.cc:612
+#: gtk2_ardour/panner_ui.cc:181
msgid "Write"
-msgstr "escritura"
-
-#: automation_time_axis.cc:190 automation_time_axis.cc:246
-#: automation_time_axis.cc:473 gain_meter.cc:178 panner_ui.cc:95
-#: plugin_ui.cc:401 plugin_ui.cc:641
-#, fuzzy
+msgstr "Escritura"
+
+#: gtk2_ardour/automation_time_axis.cc:212
+#: gtk2_ardour/automation_time_axis.cc:268
+#: gtk2_ardour/automation_time_axis.cc:435
+#: gtk2_ardour/gain_meter.cc:188
+#: gtk2_ardour/generic_pluginui.cc:346
+#: gtk2_ardour/generic_pluginui.cc:614
+#: gtk2_ardour/panner_ui.cc:183
msgid "Touch"
-msgstr "tocar"
+msgstr "Tocar"
-#: automation_time_axis.cc:257 option_editor.cc:183 option_editor.cc:189
-#: plugin_ui.cc:404
+#: gtk2_ardour/automation_time_axis.cc:279
+#: gtk2_ardour/generic_pluginui.cc:349
msgid "???"
-msgstr ""
+msgstr "???"
-#: automation_time_axis.cc:271
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:287
msgid "clear automation"
-msgstr "borrar localizaciones"
+msgstr "limpiar automatización"
-#: automation_time_axis.cc:452 editor_actions.cc:318
+#: gtk2_ardour/automation_time_axis.cc:412
+#: gtk2_ardour/editor_actions.cc:91
+#: gtk2_ardour/imageframe_time_axis.cc:254
+#: gtk2_ardour/marker_time_axis.cc:205
+#: gtk2_ardour/route_time_axis.cc:448
+msgid "Height"
+msgstr "Altura"
+
+#: gtk2_ardour/automation_time_axis.cc:414
+#: gtk2_ardour/editor_actions.cc:746
+#: gtk2_ardour/editor_markers.cc:602
+#: gtk2_ardour/route_time_axis.cc:515
msgid "Hide"
msgstr "Ocultar"
-#: automation_time_axis.cc:454 crossfade_edit.cc:78 redirect_box.cc:1057
+#: gtk2_ardour/automation_time_axis.cc:416
+#: gtk2_ardour/crossfade_edit.cc:79
+#: gtk2_ardour/redirect_box.cc:1206
+#: gtk2_ardour/connection_editor.cc:56
msgid "Clear"
-msgstr "Quitar todos"
+msgstr "Limpiar"
-#: automation_time_axis.cc:477
-#, fuzzy
+#: gtk2_ardour/automation_time_axis.cc:439
msgid "State"
-msgstr "Inicio"
+msgstr "Estado"
-#: canvas-imageframe.c:104
+#: gtk2_ardour/canvas-imageframe.c:104
msgid "pixbuf"
msgstr ""
-#: canvas-imageframe.c:105
+#: gtk2_ardour/canvas-imageframe.c:105
msgid "the pixbuf"
-msgstr ""
+msgstr "el pixbuf"
-#: canvas-imageframe.c:110
+#: gtk2_ardour/canvas-imageframe.c:110
msgid "x"
-msgstr ""
+msgstr "x"
-#: canvas-imageframe.c:111 canvas-simpleline.c:111 canvas-simplerect.c:107
+#: gtk2_ardour/canvas-imageframe.c:111
+#: gtk2_ardour/canvas-simpleline.c:112
+#: gtk2_ardour/canvas-simplerect.c:108
msgid "x coordinate of upper left corner of rect"
-msgstr ""
+msgstr "coordenada x de la esquina superior izquierda del rectángulo"
-#: canvas-imageframe.c:120
+#: gtk2_ardour/canvas-imageframe.c:120
msgid "y"
-msgstr ""
+msgstr "y"
-#: canvas-imageframe.c:121 canvas-simpleline.c:121 canvas-simplerect.c:117
+#: gtk2_ardour/canvas-imageframe.c:121
+#: gtk2_ardour/canvas-simpleline.c:122
+#: gtk2_ardour/canvas-simplerect.c:118
msgid "y coordinate of upper left corner of rect "
-msgstr ""
+msgstr "coordenada y de la esquina superior izquierda del rectángulo"
-#: canvas-imageframe.c:129
-#, fuzzy
+#: gtk2_ardour/canvas-imageframe.c:129
msgid "width"
-msgstr "escritura"
+msgstr "ancho"
-#: canvas-imageframe.c:130
+#: gtk2_ardour/canvas-imageframe.c:130
msgid "the width"
msgstr ""
-#: canvas-imageframe.c:139
+#: gtk2_ardour/canvas-imageframe.c:139
msgid "drawwidth"
-msgstr ""
+msgstr "dibujar ancho"
-#: canvas-imageframe.c:140
+#: gtk2_ardour/canvas-imageframe.c:140
msgid "drawn width"
msgstr ""
-#: canvas-imageframe.c:148
-#, fuzzy
+#: gtk2_ardour/canvas-imageframe.c:148
msgid "height"
-msgstr "Altura"
+msgstr "altura"
-#: canvas-imageframe.c:149
-#, fuzzy
+#: gtk2_ardour/canvas-imageframe.c:149
msgid "the height"
-msgstr "Altura"
+msgstr "la altura"
-#: canvas-imageframe.c:157
+#: gtk2_ardour/canvas-imageframe.c:157
msgid "anchor"
msgstr ""
-#: canvas-imageframe.c:158
+#: gtk2_ardour/canvas-imageframe.c:158
msgid "the anchor"
msgstr ""
-#: canvas-simpleline.c:110 canvas-simplerect.c:106
+#: gtk2_ardour/canvas-simpleline.c:111
+#: gtk2_ardour/canvas-simplerect.c:107
msgid "x1"
-msgstr ""
+msgstr "x1"
-#: canvas-simpleline.c:120 canvas-simplerect.c:116
+#: gtk2_ardour/canvas-simpleline.c:121
+#: gtk2_ardour/canvas-simplerect.c:117
msgid "y1"
-msgstr ""
+msgstr "y1"
-#: canvas-simpleline.c:131 canvas-simplerect.c:127
+#: gtk2_ardour/canvas-simpleline.c:132
+#: gtk2_ardour/canvas-simplerect.c:128
msgid "x2"
-msgstr ""
+msgstr "x2"
-#: canvas-simpleline.c:132 canvas-simplerect.c:128
+#: gtk2_ardour/canvas-simpleline.c:133
+#: gtk2_ardour/canvas-simplerect.c:129
msgid "x coordinate of lower right corner of rect"
-msgstr ""
+msgstr "coordenada x de la esquina inferior derecha del rectángulo"
-#: canvas-simpleline.c:141 canvas-simplerect.c:137
+#: gtk2_ardour/canvas-simpleline.c:142
+#: gtk2_ardour/canvas-simplerect.c:138
msgid "y2"
-msgstr ""
+msgstr "y2"
-#: canvas-simpleline.c:142 canvas-simplerect.c:138
+#: gtk2_ardour/canvas-simpleline.c:143
+#: gtk2_ardour/canvas-simplerect.c:139
msgid "y coordinate of lower right corner of rect "
-msgstr ""
+msgstr "coordenada y de la esquina inferior derecha del rectángulo"
-#: canvas-simpleline.c:150
+#: gtk2_ardour/canvas-simpleline.c:151
msgid "color rgba"
-msgstr ""
+msgstr "color rgba"
-#: canvas-simpleline.c:151
-#, fuzzy
+#: gtk2_ardour/canvas-simpleline.c:152
msgid "color of line"
-msgstr "linear"
+msgstr "color de la línea"
-#: canvas-simplerect.c:148
+#: gtk2_ardour/canvas-simplerect.c:149
msgid "outline pixels"
-msgstr ""
+msgstr "píxeles de contorno"
-#: canvas-simplerect.c:149
+#: gtk2_ardour/canvas-simplerect.c:150
msgid "width in pixels of outline"
-msgstr ""
+msgstr "ancho en píxeles del contorno"
-#: canvas-simplerect.c:159
+#: gtk2_ardour/canvas-simplerect.c:160
msgid "outline what"
-msgstr ""
+msgstr "qué contornear"
-#: canvas-simplerect.c:160
+#: gtk2_ardour/canvas-simplerect.c:161
msgid "which boundaries to outline (mask)"
-msgstr ""
+msgstr "cuáles bordes contornear (máscara)"
-#: canvas-simplerect.c:171
+#: gtk2_ardour/canvas-simplerect.c:172
msgid "fill"
-msgstr ""
+msgstr "relleno"
-#: canvas-simplerect.c:172
-#, fuzzy
+#: gtk2_ardour/canvas-simplerect.c:173
msgid "fill rectangle"
-msgstr "Reproducir seleccin cont�uamente"
+msgstr "rellenar rectágulo"
-#: canvas-simplerect.c:179
+#: gtk2_ardour/canvas-simplerect.c:180
msgid "draw"
-msgstr ""
+msgstr "dibujar"
-#: canvas-simplerect.c:180
-#, fuzzy
+#: gtk2_ardour/canvas-simplerect.c:181
msgid "draw rectangle"
-msgstr "intervalo"
+msgstr "dibujar rectángulo"
-#: canvas-simplerect.c:188
+#: gtk2_ardour/canvas-simplerect.c:189
msgid "outline color rgba"
-msgstr ""
+msgstr "color de contorno rgba"
-#: canvas-simplerect.c:189
+#: gtk2_ardour/canvas-simplerect.c:190
msgid "color of outline"
-msgstr ""
+msgstr "color del contorno"
-#: canvas-simplerect.c:199
+#: gtk2_ardour/canvas-simplerect.c:200
msgid "fill color rgba"
-msgstr ""
+msgstr "color de relleno rgba"
-#: canvas-simplerect.c:200
+#: gtk2_ardour/canvas-simplerect.c:201
msgid "color of fill"
-msgstr ""
-
-#: color_manager.cc:40
-#, fuzzy
-msgid "Object"
-msgstr "objeto"
-
-#: color_manager.cc:78
-#, fuzzy
-msgid "cannot open color definition file %1: %2"
-msgstr "no se pudo mostrar el la imagen Acerca de \"%1\""
+msgstr "color de relleno"
-#: crossfade_edit.cc:75
+#: gtk2_ardour/crossfade_edit.cc:76
msgid "ardour: x-fade edit"
-msgstr ""
+msgstr "ardour: editor de fundido cruzado"
-#: crossfade_edit.cc:79 panner_ui.cc:443
-#, fuzzy
+#: gtk2_ardour/crossfade_edit.cc:80
+#: gtk2_ardour/panner_ui.cc:481
msgid "Reset"
-msgstr "resetear"
+msgstr "Restablecer"
-#: crossfade_edit.cc:80
-#, fuzzy
+#: gtk2_ardour/crossfade_edit.cc:81
+#: gtk2_ardour/editor_actions.cc:56
msgid "Fade"
-msgstr "Fades"
+msgstr "Fundido"
-#: crossfade_edit.cc:81
+#: gtk2_ardour/crossfade_edit.cc:82
msgid "Out (dry)"
-msgstr ""
+msgstr "Salida (limpia)"
-#: crossfade_edit.cc:82
-#, fuzzy
+#: gtk2_ardour/crossfade_edit.cc:83
msgid "Out"
-msgstr "Salidas"
+msgstr "Salida"
-#: crossfade_edit.cc:83
+# discutible quizás, pero nunca escuché que alguien tradujera dry/wet como seco/húmedo...
+#: gtk2_ardour/crossfade_edit.cc:84
msgid "In (dry)"
-msgstr ""
+msgstr "Entrada (limpia)"
-#: crossfade_edit.cc:84
+#: gtk2_ardour/crossfade_edit.cc:85
msgid "In"
-msgstr ""
+msgstr "Entrada"
-#: crossfade_edit.cc:86
+#: gtk2_ardour/crossfade_edit.cc:87
msgid "With Pre-roll"
-msgstr ""
+msgstr "Con Pre-roll"
-#: crossfade_edit.cc:87
+#: gtk2_ardour/crossfade_edit.cc:88
msgid "With Post-roll"
-msgstr ""
+msgstr "Con Post-roll"
-#: crossfade_edit.cc:95
+#: gtk2_ardour/crossfade_edit.cc:96
msgid "Fade In"
-msgstr ""
+msgstr "Fundido de entrada"
-#: crossfade_edit.cc:96
+#: gtk2_ardour/crossfade_edit.cc:97
msgid "Fade Out"
-msgstr ""
+msgstr "Fundido de salida"
-#: crossfade_edit.cc:172 editor.cc:1835 editor_actions.cc:316
-#: option_editor.cc:130
+# en realidad no existe este término en el español...
+#: gtk2_ardour/crossfade_edit.cc:175
+#: gtk2_ardour/editor.cc:1856
+#: gtk2_ardour/editor_actions.cc:744
+#: gtk2_ardour/option_editor.cc:158
msgid "Audition"
-msgstr "Audicionando"
+msgstr "Audicionar"
-#: editor.cc:104 editor.cc:3616
-msgid "Slide"
-msgstr "Deslizar"
-
-#: editor.cc:105 editor.cc:3614
-msgid "Splice"
-msgstr "Reunir"
-
-#. note that this menu list starts at zero, not 1, because zero
-#. is a valid, if useless, ID.
-#.
-#. leave some breathing room
-#: editor.cc:110 editor.cc:3671 export_dialog.cc:78 export_dialog.cc:92
-#: export_dialog.cc:893 export_dialog.cc:1225 route_ui.cc:437
-msgid "None"
-msgstr "Ningn"
-
-#: editor.cc:111 editor.cc:3659
-#, fuzzy
+#: gtk2_ardour/editor.cc:112
+#: gtk2_ardour/editor.cc:3523
msgid "CD Frames"
-msgstr "Cuadros"
+msgstr "Cuadros de CD"
-#: editor.cc:112 editor.cc:3661
-#, fuzzy
+#: gtk2_ardour/editor.cc:113
+#: gtk2_ardour/editor.cc:3525
msgid "SMPTE Frames"
-msgstr "SMPTE Cuadros/segundo"
+msgstr "Cuadros SMPTE"
-#: editor.cc:113 editor.cc:3663
-#, fuzzy
+#: gtk2_ardour/editor.cc:114
+#: gtk2_ardour/editor.cc:3527
msgid "SMPTE Seconds"
-msgstr "SMPTE Cuadros/segundo"
+msgstr "Segundos SMPTE"
-#: editor.cc:114 editor.cc:3665
+#: gtk2_ardour/editor.cc:115
+#: gtk2_ardour/editor.cc:3529
msgid "SMPTE Minutes"
-msgstr ""
+msgstr "Minutos SMPTE"
-#: editor.cc:115 editor.cc:3667
-#, fuzzy
+#: gtk2_ardour/editor.cc:116
+#: gtk2_ardour/editor.cc:3531
msgid "Seconds"
-msgstr "Minutos:Segundos"
+msgstr "Segundos"
-#: editor.cc:116 editor.cc:3669
-#, fuzzy
+#: gtk2_ardour/editor.cc:117
+#: gtk2_ardour/editor.cc:3533
msgid "Minutes"
-msgstr "Salidas Principales"
+msgstr "Minutos"
-#: editor.cc:117 editor.cc:3641
+#: gtk2_ardour/editor.cc:118
+#: gtk2_ardour/editor.cc:3507
msgid "Beats/32"
msgstr "Pulsos/32"
-#: editor.cc:118 editor.cc:3639
+#: gtk2_ardour/editor.cc:119
+#: gtk2_ardour/editor.cc:3505
msgid "Beats/16"
msgstr "Pulsos/16"
-#: editor.cc:119 editor.cc:3637
+#: gtk2_ardour/editor.cc:120
+#: gtk2_ardour/editor.cc:3503
msgid "Beats/8"
msgstr "Pulsos/8"
-#: editor.cc:120 editor.cc:3635
+#: gtk2_ardour/editor.cc:121
+#: gtk2_ardour/editor.cc:3501
msgid "Beats/4"
msgstr "Pulsos/4"
-#: editor.cc:121 editor.cc:3633
+#: gtk2_ardour/editor.cc:122
+#: gtk2_ardour/editor.cc:3499
msgid "Beats/3"
msgstr "Pulsos/3"
-#: editor.cc:122 editor.cc:3643
+#: gtk2_ardour/editor.cc:123
+#: gtk2_ardour/editor.cc:3509
msgid "Beats"
msgstr "Pulsos"
-#: editor.cc:123 editor.cc:3645
+#: gtk2_ardour/editor.cc:124
+#: gtk2_ardour/editor.cc:3511
msgid "Bars"
-msgstr "Compaces"
+msgstr "Compases"
-#: editor.cc:124 editor.cc:3647
+#: gtk2_ardour/editor.cc:125
+#: gtk2_ardour/editor.cc:3513
msgid "Marks"
msgstr "Marcas"
-#: editor.cc:125 editor.cc:144 editor.cc:3649 editor.cc:3715
-msgid "Edit Cursor"
-msgstr "Cursor de Edicin"
-
-#: editor.cc:126 editor.cc:3651
+#: gtk2_ardour/editor.cc:126
+#: gtk2_ardour/editor.cc:3515
msgid "Region starts"
-msgstr "Comienzos de regin"
+msgstr "Inicio de región"
-#: editor.cc:127 editor.cc:3653
+#: gtk2_ardour/editor.cc:127
+#: gtk2_ardour/editor.cc:3517
msgid "Region ends"
-msgstr "Fines de regin"
+msgstr "Finales de región"
-#: editor.cc:128 editor.cc:3657
+#: gtk2_ardour/editor.cc:128
+#: gtk2_ardour/editor.cc:3521
msgid "Region syncs"
-msgstr "Sincronizaciones de region"
+msgstr "Sinc. de Región"
-#: editor.cc:129 editor.cc:3655
+#: gtk2_ardour/editor.cc:129
+#: gtk2_ardour/editor.cc:3519
msgid "Region bounds"
-msgstr "Bordes de regin"
-
-#: editor.cc:135 editor.cc:3690
-#, fuzzy
+msgstr "Bordes de región"
+
+#: gtk2_ardour/editor.cc:134
+#: gtk2_ardour/editor.cc:3549
+#: gtk2_ardour/editor_actions.cc:669
+msgid "No Grid"
+msgstr "Sin rejilla"
+
+#: gtk2_ardour/editor.cc:135
+#: gtk2_ardour/editor.cc:3551
+#: gtk2_ardour/editor_actions.cc:670
+msgid "Grid"
+msgstr "Con rejilla"
+
+#: gtk2_ardour/editor.cc:136
+#: gtk2_ardour/editor.cc:3553
+#: gtk2_ardour/editor_actions.cc:671
msgid "Magnetic"
-msgstr "Magn�ico"
+msgstr "Magnético"
+
+#: gtk2_ardour/editor.cc:141
+#: gtk2_ardour/editor.cc:151
+#: gtk2_ardour/editor.cc:3592
+#: gtk2_ardour/editor.cc:3617
+#: gtk2_ardour/editor_actions.cc:69
+#: gtk2_ardour/editor_actions.cc:652
+msgid "Playhead"
+msgstr "Cursor"
-#: editor.cc:140 editor.cc:3707 export_dialog.cc:140 export_dialog.cc:156
-#: export_dialog.cc:1068 export_dialog.cc:1072
+#: gtk2_ardour/editor.cc:142
+#: gtk2_ardour/editor.cc:3590
+#: gtk2_ardour/editor_actions.cc:654
+#: gtk2_ardour/marker_time_axis.cc:250
+msgid "Marker"
+msgstr "Marca"
+
+#: gtk2_ardour/editor.cc:143
+#: gtk2_ardour/editor.cc:152
+#: gtk2_ardour/editor.cc:3619
+#: gtk2_ardour/editor_actions.cc:653
+msgid "Mouse"
+msgstr "Ratón"
+
+#: gtk2_ardour/editor.cc:148
+#: gtk2_ardour/editor.cc:3611
+#: gtk2_ardour/export_dialog.cc:143
+#: gtk2_ardour/export_dialog.cc:159
+#: gtk2_ardour/export_dialog.cc:1172
+#: gtk2_ardour/export_dialog.cc:1176
msgid "Left"
-msgstr "Izquierdo"
+msgstr "Izquierda"
-#: editor.cc:141 editor.cc:3709 export_dialog.cc:141 export_dialog.cc:157
+#: gtk2_ardour/editor.cc:149
+#: gtk2_ardour/editor.cc:3613
+#: gtk2_ardour/export_dialog.cc:144
+#: gtk2_ardour/export_dialog.cc:160
msgid "Right"
-msgstr "Derecho"
+msgstr "Derecha"
-#: editor.cc:142 editor.cc:3711
+#: gtk2_ardour/editor.cc:150
+#: gtk2_ardour/editor.cc:3615
msgid "Center"
msgstr "Centro"
-#: editor.cc:143 editor.cc:3713
-msgid "Playhead"
-msgstr "Barra de reproduccin"
+#: gtk2_ardour/editor.cc:153
+#: gtk2_ardour/editor.cc:3621
+#: gtk2_ardour/editor_actions.cc:68
+msgid "Active Mark"
+msgstr "Marca activa"
+
+#: gtk2_ardour/editor.cc:159
+msgid "Mushy"
+msgstr ""
+
+#: gtk2_ardour/editor.cc:160
+msgid "Smooth"
+msgstr "Suave"
-#. time display buttons
-#: editor.cc:186
+#: gtk2_ardour/editor.cc:161
+msgid "Balanced multitimbral mixture"
+msgstr "Mezcla multitímbrica balanceada"
+
+#: gtk2_ardour/editor.cc:162
+msgid "Unpitched percussion with stable notes"
+msgstr "Percusión no tonal con notas estables"
+
+# "brillante" es un término común al menos en mi zona, quizás haya otras sugerencias
+#: gtk2_ardour/editor.cc:163
+msgid "Crisp monophonic instrumental"
+msgstr "Instrumantal monofónico brillante"
+
+#: gtk2_ardour/editor.cc:164
+msgid "Unpitched solo percussion"
+msgstr "Percusión no tonal"
+
+#: gtk2_ardour/editor.cc:202
msgid "Mins:Secs"
msgstr "Mins:Segs"
-#: editor.cc:189 editor_rulers.cc:354
-msgid "Frames"
-msgstr "Cuadros"
-
-#: editor.cc:190 editor_rulers.cc:374
+#: gtk2_ardour/editor.cc:206
+#: gtk2_ardour/editor_actions.cc:89
+#: gtk2_ardour/editor_actions.cc:701
+#: gtk2_ardour/tempo_dialog.cc:39
+#: gtk2_ardour/tempo_dialog.cc:58
msgid "Tempo"
msgstr "Tempo"
-#: editor.cc:191 editor_rulers.cc:368
+#: gtk2_ardour/editor.cc:207
+#: gtk2_ardour/editor_actions.cc:702
+#: gtk2_ardour/tempo_dialog.cc:273
+#: gtk2_ardour/tempo_dialog.cc:288
msgid "Meter"
-msgstr "Vmetro"
+msgstr "Tipo de compás"
-#: editor.cc:192 editor_rulers.cc:380
-#, fuzzy
+#: gtk2_ardour/editor.cc:208
msgid "Location Markers"
-msgstr "Marcadores de localizacin"
+msgstr "Marcas de posición"
-#: editor.cc:193 editor_rulers.cc:386
-#, fuzzy
+#: gtk2_ardour/editor.cc:209
msgid "Range Markers"
-msgstr "Marcadores de intervalo"
+msgstr "Marcas de rango"
-#: editor.cc:194 editor_rulers.cc:392
+#: gtk2_ardour/editor.cc:210
msgid "Loop/Punch Ranges"
-msgstr ""
-
-#: editor.cc:216
-msgid "range"
-msgstr "intervalo"
+msgstr "Rangos de Bucle/Pinchar"
-#: editor.cc:217
-msgid "object"
-msgstr "objeto"
+#: gtk2_ardour/editor.cc:211
+#: gtk2_ardour/editor_actions.cc:705
+msgid "CD Markers"
+msgstr "Marcas de CD"
-#: editor.cc:219
-msgid "zoom"
-msgstr "zoom"
-
-#: editor.cc:220
-msgid "timefx"
-msgstr ""
-
-#: editor.cc:221
-msgid "listen"
-msgstr ""
-
-#: editor.cc:223
+#: gtk2_ardour/editor.cc:228
msgid "mode"
msgstr "modo"
-#: editor.cc:224
+#: gtk2_ardour/editor.cc:229
msgid "automation"
-msgstr "automatizacin"
-
-#: editor.cc:226
-msgid "Edit Mode"
-msgstr "Modo de edicin"
-
-#: editor.cc:227 editor_actions.cc:284
-msgid "Snap To"
-msgstr "Ajustar a"
-
-#: editor.cc:228
-#, fuzzy
-msgid "Snap Mode"
-msgstr "Modo de ajuste"
-
-#: editor.cc:229
-msgid "Zoom Focus"
-msgstr "Foco de Zoom"
-
-#. </CMT Additions>
-#. nudge
-#: editor.cc:237 editor.cc:1900 editor.cc:2066 editor.cc:2122
-msgid "Nudge"
-msgstr "Retocar"
-
-#: editor.cc:470
-msgid "Zoom in"
-msgstr "Acercar"
-
-#: editor.cc:471
-msgid "Zoom out"
-msgstr "Alejar"
-
-#: editor.cc:474
-msgid "Zoom to session"
-msgstr "Mostrar toda la sesin"
-
-#: editor.cc:489
-msgid "Zoom Span"
-msgstr "Alcance de zoom"
-
-#: editor.cc:502 editor.cc:528 editor_actions.cc:62 mixer_ui.cc:86
-#: mixer_ui.cc:112
-#, fuzzy
-msgid "Visible"
-msgstr "visible"
-
-#: editor.cc:503 editor.cc:526
-#, fuzzy
+msgstr "automatización"
+
+#: gtk2_ardour/editor.cc:520
+#: gtk2_ardour/editor.cc:547
+#: gtk2_ardour/editor_actions.cc:115
+#: gtk2_ardour/mixer_ui.cc:89
+#: gtk2_ardour/mixer_ui.cc:116
+#: gtk2_ardour/analysis_window.cc:68
+msgid "Show"
+msgstr "Mostrar"
+
+#: gtk2_ardour/editor.cc:521
+#: gtk2_ardour/editor.cc:545
msgid "Name"
-msgstr "Cuadros"
+msgstr "Nombre"
+
+#: gtk2_ardour/editor.cc:546
+#: gtk2_ardour/editor_actions.cc:113
+#: gtk2_ardour/mixer_strip.cc:1052
+#: gtk2_ardour/mixer_ui.cc:115
+#: gtk2_ardour/route_time_axis.cc:510
+msgid "Active"
+msgstr "Activo"
-#: editor.cc:602 editor.cc:669
-#, fuzzy
+#: gtk2_ardour/editor.cc:624
+#: gtk2_ardour/editor.cc:695
msgid "Regions"
-msgstr "Regin"
+msgstr "Regiones"
-#: editor.cc:642 editor.cc:681
+#: gtk2_ardour/editor.cc:667
+#: gtk2_ardour/editor.cc:709
msgid "Chunks"
-msgstr "Trechos"
+msgstr "Fragmentos"
-#: editor.cc:672
-#, fuzzy
+#: gtk2_ardour/editor.cc:698
msgid "Tracks/Busses"
msgstr "Pistas/Buses"
-#: editor.cc:675
+#: gtk2_ardour/editor.cc:701
msgid "Snapshots"
msgstr "Capturas"
-#: editor.cc:678
+#: gtk2_ardour/editor.cc:704
msgid "Edit Groups"
-msgstr "Editar Grupos"
+msgstr "Grupos de Edición"
-#: editor.cc:727
-msgid "Nudge region/selection forwards"
-msgstr "Retocar regin/selecin adelante"
-
-#: editor.cc:728
-msgid "Nudge region/selection backwards"
-msgstr "Retocar regin/selecin atr�"
-
-#: editor.cc:735 editor_mixer.cc:299
-msgid "ardour: editor"
-msgstr ""
+#: gtk2_ardour/editor.cc:767
+msgid "Nudge Region/Selection Forwards"
+msgstr "Mover Región/Selección hacia adelante"
-#: editor.cc:736
-msgid "ardour_editor"
-msgstr ""
+#: gtk2_ardour/editor.cc:768
+msgid "Nudge Region/Selection Backwards"
+msgstr "Mover Región/Selección hacia atrás"
-#: editor.cc:1183
-msgid "ardour: editor: "
-msgstr ""
+#: gtk2_ardour/editor.cc:798
+#: gtk2_ardour/editor_mixer.cc:392
+msgid "Editor"
+msgstr "Editor"
-#. force name
-#: editor.cc:1268 editor.cc:1277 editor_markers.cc:870
+#: gtk2_ardour/editor.cc:1258
+#: gtk2_ardour/editor.cc:1266
+#: gtk2_ardour/editor.cc:4605
+#: gtk2_ardour/editor.cc:4632
+#: gtk2_ardour/editor_actions.cc:84
msgid "Loop"
-msgstr "c�lico"
+msgstr "Bucle"
-#. force name
-#: editor.cc:1282 editor.cc:1291 editor_markers.cc:896
+#: gtk2_ardour/editor.cc:1271
+#: gtk2_ardour/editor.cc:1279
+#: gtk2_ardour/editor_actions.cc:85
msgid "Punch"
-msgstr "Insercin"
+msgstr "Pinchar"
-#: editor.cc:1439 editor_mouse.cc:1742
+#: gtk2_ardour/editor.cc:1422
+#: gtk2_ardour/editor_mouse.cc:2021
msgid "programming error: fade in canvas item has no regionview data pointer!"
msgstr ""
-#: editor.cc:1451 editor.cc:1468 redirect_box.cc:1073
+#: gtk2_ardour/editor.cc:1434
+#: gtk2_ardour/editor.cc:1456
+#: gtk2_ardour/redirect_box.cc:1226
msgid "Deactivate"
msgstr "Desactivar"
-#. activation
-#: editor.cc:1453 editor.cc:1470 redirect_box.cc:1071
+#: gtk2_ardour/editor.cc:1436
+#: gtk2_ardour/editor.cc:1458
+#: gtk2_ardour/redirect_box.cc:1224
msgid "Activate"
msgstr "Activar"
-#: editor.cc:1458 editor.cc:1475
-#, fuzzy
-msgid "Linear"
-msgstr "linear"
-
-#: editor.cc:1459 editor.cc:1476 editor_actions.cc:376
-#, fuzzy
-msgid "Slowest"
-msgstr "Menor"
-
-#: editor.cc:1460 editor.cc:1477 editor_actions.cc:377
-#, fuzzy
-msgid "Slow"
-msgstr "Solo"
-
-#: editor.cc:1461 editor.cc:1478 editor_actions.cc:379
-#, fuzzy
-msgid "Fast"
-msgstr "Fades"
-
-#: editor.cc:1462 editor.cc:1479 editor_actions.cc:381
-#, fuzzy
-msgid "Fastest"
-msgstr "r�ido"
+#: gtk2_ardour/editor.cc:1476
+#: gtk2_ardour/route_time_axis.cc:1671
+#: gtk2_ardour/selection.cc:716
+#: gtk2_ardour/selection.cc:755
+msgid "programming error: "
+msgstr "error de programación:"
-#: editor.cc:1589 editor.cc:1597
+#: gtk2_ardour/editor.cc:1583
+#: gtk2_ardour/editor.cc:1591
+#: gtk2_ardour/editor_ops.cc:3632
msgid "Freeze"
-msgstr "Unir regiones"
+msgstr "Congelar"
-#: editor.cc:1593
+#: gtk2_ardour/editor.cc:1587
msgid "Unfreeze"
-msgstr "Separar regiones"
+msgstr "Descongelar"
+
+#: gtk2_ardour/editor.cc:1772
+#: gtk2_ardour/editor.cc:1896
+#: gtk2_ardour/mixer_strip.cc:88
+#: gtk2_ardour/mixer_strip.cc:109
+#: gtk2_ardour/mixer_strip.cc:493
+#: gtk2_ardour/panner_ui.cc:465
+#: gtk2_ardour/route_time_axis.cc:189
+msgid "Mute"
+msgstr "Mudo"
-#: editor.cc:1762 editor.cc:1857
-#, fuzzy
+#: gtk2_ardour/editor.cc:1774
msgid "Unmute"
-msgstr "mudo"
-
-#. non-operative menu items for menu bar
-#. show editors
-#: editor.cc:1766 editor.cc:2046 editor.cc:2748 editor_actions.cc:27
-#: editor_markers.cc:507 mixer_strip.cc:495 mixer_strip.cc:563
-#: redirect_box.cc:1079
+msgstr "No Mudo"
+
+#: gtk2_ardour/editor.cc:1778
+#: gtk2_ardour/editor.cc:2149
+#: gtk2_ardour/editor_actions.cc:51
+#: gtk2_ardour/editor_markers.cc:669
+#: gtk2_ardour/mixer_strip.cc:576
+#: gtk2_ardour/mixer_strip.cc:638
+#: gtk2_ardour/redirect_box.cc:1232
msgid "Edit"
msgstr "Editar"
-#: editor.cc:1771
+#: gtk2_ardour/editor.cc:1783
msgid "Convert to short"
-msgstr ""
+msgstr "Convertir a corto"
-#: editor.cc:1773
+#: gtk2_ardour/editor.cc:1785
msgid "Convert to full"
-msgstr ""
+msgstr "Convertir a completo"
-#: editor.cc:1784
-#, fuzzy
+#: gtk2_ardour/editor.cc:1796
msgid "Crossfade"
-msgstr "editar fade in"
+msgstr "Fundido cruzado"
+
+#: gtk2_ardour/editor.cc:1845
+#: gtk2_ardour/editor.cc:4069
+#: gtk2_ardour/editor_actions.cc:461
+#: gtk2_ardour/editor_markers.cc:604
+#: gtk2_ardour/editor_markers.cc:1091
+#: gtk2_ardour/editor_mouse.cc:5524
+#: gtk2_ardour/imageframe_time_axis.cc:247
+#: gtk2_ardour/marker_time_axis.cc:202
+#: gtk2_ardour/mixer_strip.cc:1050
+#: gtk2_ardour/redirect_box.cc:889
+#: gtk2_ardour/redirect_box.cc:1218
+#: gtk2_ardour/route_time_axis.cc:885
+#: gtk2_ardour/route_time_axis.cc:1404
+#: gtk2_ardour/route_ui.cc:955
+#: gtk2_ardour/visual_time_axis.cc:316
+msgid "Rename"
+msgstr "Renombrar"
-#: editor.cc:1827
+#: gtk2_ardour/editor.cc:1846
msgid "Popup region editor"
-msgstr "Editor de regiones"
+msgstr "Mostrar Editor de Regiones"
-#: editor.cc:1828
-#, fuzzy
+#: gtk2_ardour/editor.cc:1849
msgid "Raise to top layer"
-msgstr "Elevar regin a la capa m� alta"
+msgstr "Colocar Región encima"
-#: editor.cc:1829
-#, fuzzy
+#: gtk2_ardour/editor.cc:1850
msgid "Lower to bottom layer"
-msgstr "Enviar regin a capa m� baja"
+msgstr "Colocar Región debajo"
-#: editor.cc:1831
+#: gtk2_ardour/editor.cc:1852
msgid "Define sync point"
-msgstr "Definir punto de sincron�"
+msgstr "Definir Punto de Sincronía"
-#: editor.cc:1832
+#: gtk2_ardour/editor.cc:1853
msgid "Remove sync point"
-msgstr "Remover punto de sincron�"
+msgstr "Remover Punto de Sincronía"
-#: editor.cc:1837
-#, fuzzy
+#: gtk2_ardour/editor.cc:1858
msgid "Bounce"
-msgstr "intervalo"
+msgstr ""
-#: editor.cc:1840
-#, fuzzy
-msgid "Analyze region"
-msgstr "Reproducir Regin"
+#: gtk2_ardour/editor.cc:1861
+#: gtk2_ardour/editor.cc:2054
+msgid "Spectral Analysis"
+msgstr "Análisis espectral"
-#: editor.cc:1852
-#, fuzzy
+#: gtk2_ardour/editor.cc:1875
+#: gtk2_ardour/editor_actions.cc:662
+#: gtk2_ardour/editor_markers.cc:605
msgid "Lock"
-msgstr "bloquear"
+msgstr "Bloquear"
-#: editor.cc:1853
-#, fuzzy
-msgid "Unlock"
-msgstr "Desbloquear"
+#: gtk2_ardour/editor.cc:1882
+msgid "Glue to Bars&Beats"
+msgstr "Vincular a Compases y Pulsos"
+
+#: gtk2_ardour/editor.cc:1906
+msgid "Opaque"
+msgstr "Región opaca"
-#: editor.cc:1863
-#, fuzzy
+#: gtk2_ardour/editor.cc:1916
msgid "Original position"
-msgstr "Posicin original"
+msgstr "Posición original"
-#: editor.cc:1869
-msgid "Toggle envelope visibility"
-msgstr ""
+#: gtk2_ardour/editor.cc:1929
+msgid "Reset Envelope"
+msgstr "Restablecer Envolvente"
+
+#: gtk2_ardour/editor.cc:1931
+msgid "Envelope Visible"
+msgstr "Envolvente Visible"
-#: editor.cc:1870
-#, fuzzy
-msgid "Toggle envelope active"
-msgstr "activar"
+#: gtk2_ardour/editor.cc:1940
+msgid "Envelope Active"
+msgstr "Envolvente Activa"
-#: editor.cc:1874
-#, fuzzy
+#: gtk2_ardour/editor.cc:1954
msgid "DeNormalize"
-msgstr "Normalizar"
+msgstr "Deshacer Normalización"
-#: editor.cc:1876
-#, fuzzy
+#: gtk2_ardour/editor.cc:1956
msgid "Normalize"
msgstr "Normalizar"
-#: editor.cc:1879
-#, fuzzy
+#: gtk2_ardour/editor.cc:1960
+#: gtk2_ardour/editor_actions.cc:500
msgid "Reverse"
-msgstr "Invertir"
+msgstr "Al revés"
-#. range related stuff
-#: editor.cc:1885
-#, fuzzy
+#: gtk2_ardour/editor.cc:1965
+msgid "Add Single Range"
+msgstr "Agregar nueva Región"
+
+#: gtk2_ardour/editor.cc:1966
+#: gtk2_ardour/editor.cc:2073
msgid "Add Range Markers"
-msgstr "Marcadores de intervalo"
+msgstr "Insertar Marcas de Rango"
-#: editor.cc:1886
-#, fuzzy
-msgid "Set Range"
-msgstr "Separar Regin"
+#: gtk2_ardour/editor.cc:1971
+msgid "Set Range Selection"
+msgstr "Usar como selección de rango"
-#: editor.cc:1895
-#, fuzzy
+#: gtk2_ardour/editor.cc:1980
msgid "Nudge fwd"
-msgstr "Retocar"
+msgstr "Mover hacia adelante"
-#: editor.cc:1896
-#, fuzzy
+#: gtk2_ardour/editor.cc:1981
msgid "Nudge bwd"
-msgstr "Retocar"
+msgstr "Mover hacia atrás"
-#: editor.cc:1897
+#: gtk2_ardour/editor.cc:1982
msgid "Nudge fwd by capture offset"
-msgstr ""
+msgstr "Mover hacia adelante por la compensación de captura"
-#: editor.cc:1898
+#: gtk2_ardour/editor.cc:1983
msgid "Nudge bwd by capture offset"
-msgstr ""
-
-#: editor.cc:1907
-msgid "Start to edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
+msgstr "Mover hacia atrás por la compensación de captura"
-#: editor.cc:1908
-msgid "Edit cursor to end"
-msgstr "Desde cursor de edicin hasta final"
-
-#: editor.cc:1910 gain_meter.cc:181 gain_meter.cc:813 panner_ui.cc:98
-#: panner_ui.cc:803
+#: gtk2_ardour/editor.cc:1985
+#: gtk2_ardour/editor.cc:2169
+#: gtk2_ardour/editor.cc:2225
+#: gtk2_ardour/editor_actions.cc:70
+msgid "Nudge"
+msgstr "Mover"
+
+#: gtk2_ardour/editor.cc:1992
+msgid "Start to edit point"
+msgstr "Desde principio hasta Punto de Edición"
+
+#: gtk2_ardour/editor.cc:1997
+msgid "Edit point to end"
+msgstr "Desde Punto de Edición hasta el final"
+
+#: gtk2_ardour/editor.cc:2002
+#: gtk2_ardour/editor_actions.cc:368
+msgid "Trim To Loop"
+msgstr "Recortar por fuera de Bucle"
+
+#: gtk2_ardour/editor.cc:2003
+#: gtk2_ardour/editor_actions.cc:371
+msgid "Trim To Punch"
+msgstr "Recortar por fuera del Rango de Pinchado"
+
+#: gtk2_ardour/editor.cc:2005
+#: gtk2_ardour/editor_actions.cc:94
+#: gtk2_ardour/gain_meter.cc:132
+#: gtk2_ardour/gain_meter.cc:658
+#: gtk2_ardour/panner_ui.cc:200
+#: gtk2_ardour/panner_ui.cc:848
msgid "Trim"
-msgstr "Cortar"
+msgstr "Recortar"
-#: editor.cc:1913
+#: gtk2_ardour/editor.cc:2008
msgid "Split"
msgstr "Separar"
-#: editor.cc:1916
+#: gtk2_ardour/editor.cc:2015
+#: gtk2_ardour/editor_actions.cc:503
msgid "Make mono regions"
msgstr "Crear regiones mono"
-#: editor.cc:1919
+#: gtk2_ardour/editor.cc:2018
+#: gtk2_ardour/editor.cc:3370
msgid "Duplicate"
msgstr "Duplicar"
-#: editor.cc:1920
+#: gtk2_ardour/editor.cc:2019
+msgid "Multi-Duplicate"
+msgstr "Duplicado múltiple"
+
+#: gtk2_ardour/editor.cc:2020
+#: gtk2_ardour/editor_actions.cc:506
msgid "Fill Track"
msgstr "Llenar Pista"
-#: editor.cc:1924
-#, fuzzy
-msgid "Destroy"
-msgstr "Destruir"
+#: gtk2_ardour/editor.cc:2022
+#: gtk2_ardour/editor.cc:4064
+#: gtk2_ardour/editor_actions.cc:597
+#: gtk2_ardour/editor_actions.cc:748
+#: gtk2_ardour/editor_markers.cc:610
+#: gtk2_ardour/editor_markers.cc:670
+#: gtk2_ardour/imageframe_time_axis.cc:258
+#: gtk2_ardour/location_ui.cc:58
+#: gtk2_ardour/marker_time_axis.cc:209
+#: gtk2_ardour/mixer_strip.cc:1070
+#: gtk2_ardour/route_time_axis.cc:517
+msgid "Remove"
+msgstr "Borrar"
+
+#: gtk2_ardour/editor.cc:2033
+#: gtk2_ardour/analysis_window.cc:48
+msgid "Selected regions"
+msgstr "Regiones seleccionadas"
-#: editor.cc:1954
-#, fuzzy
+#: gtk2_ardour/editor.cc:2049
msgid "Play range"
-msgstr "Reproducir el intervalo cont�uamente"
+msgstr "Reproducir Rango"
-#: editor.cc:1955
-#, fuzzy
+#: gtk2_ardour/editor.cc:2050
msgid "Loop range"
-msgstr "rango de reproduccin cont�ua"
+msgstr "Rango de Bucle"
+
+#: gtk2_ardour/editor.cc:2058
+#: gtk2_ardour/editor_actions.cc:577
+msgid "Extend Range to End of Region"
+msgstr "Extender Rango hasta el final de la región"
-#: editor.cc:1959
-#, fuzzy
-msgid "Analyze range"
-msgstr "Reproducir el intervalo cont�uamente"
+#: gtk2_ardour/editor.cc:2059
+#: gtk2_ardour/editor_actions.cc:579
+msgid "Extend Range to Start of Region"
+msgstr "Extender Rango hasta el inicio de la región"
-#: editor.cc:1963
-#, fuzzy
-msgid "Separate range to track"
-msgstr "Separar Regin"
+#: gtk2_ardour/editor.cc:2062
+msgid "Convert to region in-place"
+msgstr "Convertir a región in situ"
-#: editor.cc:1964
-#, fuzzy
-msgid "Separate range to region list"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor.cc:2063
+msgid "Convert to region in region list"
+msgstr "Convertir a Región en la Lista de Regiones"
-#: editor.cc:1967
-#, fuzzy
+#: gtk2_ardour/editor.cc:2066
msgid "Select all in range"
-msgstr "Seleccionar todo dentro de pista"
+msgstr "Seleccionar todo dentro del Rango"
-#: editor.cc:1969 editor.cc:2014
-#, fuzzy
-msgid "Set range to loop range"
-msgstr "seleccionar rango de zoom"
+#: gtk2_ardour/editor.cc:2069
+msgid "Set loop from selection"
+msgstr "Definir Bucle a partir de Selección"
-#: editor.cc:1970 editor.cc:2015
-#, fuzzy
-msgid "Set range to punch range"
-msgstr "Seleccionar intervalo actual"
+#: gtk2_ardour/editor.cc:2070
+msgid "Set punch from selection"
+msgstr "Definir Rango de Pinchado a partir de Selección"
-#: editor.cc:1972
-#, fuzzy
+#: gtk2_ardour/editor.cc:2075
msgid "Crop region to range"
-msgstr "Acortar regin hasta la seleccin"
+msgstr "Recortar Región hasta Selección"
-#: editor.cc:1973
-#, fuzzy
+#: gtk2_ardour/editor.cc:2076
msgid "Fill range with region"
-msgstr "Crear Regin"
+msgstr "Llenar Rango con Región"
-#: editor.cc:1974
-#, fuzzy
+#: gtk2_ardour/editor.cc:2077
msgid "Duplicate range"
-msgstr "Duplicar"
+msgstr "Duplicar Rango"
-#: editor.cc:1975
-#, fuzzy
+#: gtk2_ardour/editor.cc:2078
msgid "Create chunk from range"
-msgstr "Crear trecho a partir de seleccin"
+msgstr "Crear fragmento a partir de Rango"
-#: editor.cc:1977
-#, fuzzy
-msgid "Bounce range"
-msgstr "intervalo"
+#: gtk2_ardour/editor.cc:2080
+msgid "Consolidate range"
+msgstr "Consolidar Rango"
-#: editor.cc:1978
-#, fuzzy
-msgid "Export range"
-msgstr "Exportar regin"
+#: gtk2_ardour/editor.cc:2081
+msgid "Bounce range to region list"
+msgstr ""
-#: editor.cc:1980
-#, fuzzy
-msgid "Range"
-msgstr "intervalo"
+#: gtk2_ardour/editor.cc:2082
+msgid "Export range"
+msgstr "Exportar Rango"
-#: editor.cc:1995 editor.cc:2080
-#, fuzzy
-msgid "Play from edit cursor"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor.cc:2096
+#: gtk2_ardour/editor.cc:2183
+msgid "Play from edit point"
+msgstr "Reproducir desde Punto de Edición"
-#: editor.cc:1996 editor.cc:2081
+#: gtk2_ardour/editor.cc:2097
+#: gtk2_ardour/editor.cc:2184
msgid "Play from start"
msgstr "Reproducir desde el principio"
-#: editor.cc:1997
-#, fuzzy
+#: gtk2_ardour/editor.cc:2098
msgid "Play region"
-msgstr "Reproducir Regin"
+msgstr "Reproducir Región"
-#: editor.cc:1999
-#, fuzzy
+#: gtk2_ardour/editor.cc:2100
+#: gtk2_ardour/editor_actions.cc:380
msgid "Loop Region"
-msgstr "Reproducir regin cont�uamente"
+msgstr "Reproducir Región continuamente"
-#: editor.cc:2009 editor.cc:2090
-#, fuzzy
+#: gtk2_ardour/editor.cc:2110
+#: gtk2_ardour/editor.cc:2193
msgid "Select All in track"
-msgstr "Seleccionar todo dentro de pista"
+msgstr "Seleccionar todo dentro de la pista"
-#: editor.cc:2010 editor.cc:2091 redirect_box.cc:1067
-#, fuzzy
+#: gtk2_ardour/editor.cc:2111
+#: gtk2_ardour/editor.cc:2194
+#: gtk2_ardour/editor_actions.cc:179
+#: gtk2_ardour/redirect_box.cc:1220
msgid "Select All"
msgstr "Seleccionar todo"
-#: editor.cc:2011 editor.cc:2092
-#, fuzzy
+#: gtk2_ardour/editor.cc:2112
+#: gtk2_ardour/editor.cc:2195
msgid "Invert selection in track"
-msgstr "Invertir dentro de pista"
+msgstr "Invertir selección dentro de la pista"
-#: editor.cc:2012 editor.cc:2093
-#, fuzzy
+#: gtk2_ardour/editor.cc:2113
+#: gtk2_ardour/editor.cc:2196
msgid "Invert selection"
-msgstr "Grabar seleccin"
+msgstr "Invertir selección"
-#: editor.cc:2017 editor.cc:2095
-#, fuzzy
-msgid "Select all after edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor.cc:2115
+msgid "Set range to loop range"
+msgstr "Definir Rango en base a Rango a Bucle"
-#: editor.cc:2018 editor.cc:2096
-#, fuzzy
-msgid "Select all before edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor.cc:2116
+msgid "Set range to punch range"
+msgstr "Definir Rango en basea a Rango de Pinchado"
-#: editor.cc:2019 editor.cc:2097
-#, fuzzy
-msgid "Select all after playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor.cc:2118
+#: gtk2_ardour/editor_actions.cc:185
+msgid "Select All After Edit Point"
+msgstr "Seleccionar Todo desde el Punto de Edición"
-#: editor.cc:2020 editor.cc:2098
-#, fuzzy
-msgid "Select all before playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor.cc:2119
+#: gtk2_ardour/editor_actions.cc:187
+msgid "Select All Before Edit Point"
+msgstr "Seleccionar Todo hasta el Punto de Edición"
+
+#: gtk2_ardour/editor.cc:2120
+msgid "Select All After Playhead"
+msgstr "Seleccionar Todo desde Cursor"
+
+#: gtk2_ardour/editor.cc:2121
+msgid "Select All Before Playhead"
+msgstr "Seleccionar Todo hasta Cursor"
+
+#: gtk2_ardour/editor.cc:2122
+msgid "Select All Between Playhead & Edit Point"
+msgstr "Seleccionar Todo entre Cursor y Punto de Edición"
+
+#: gtk2_ardour/editor.cc:2123
+msgid "Select All Within Playhead & Edit Point"
+msgstr "Seleccionar Todo dentro de Cursor y Punto de Edición"
-#: editor.cc:2021
-#, fuzzy
-msgid "Select all between cursors"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor.cc:2124
+msgid "Select Range Between Playhead & Edit Point"
+msgstr "Seleccionar Rango entre Cursor y Punto de Edición"
-#. standard editing stuff
-#: editor.cc:2032 editor.cc:2108 editor.cc:3483 editor_actions.cc:214
-#: redirect_box.cc:1060
+#: gtk2_ardour/editor.cc:2128
+#: gtk2_ardour/editor.cc:2203
+#: gtk2_ardour/editor_actions.cc:81
+#: gtk2_ardour/editor_actions.cc:82
+msgid "Select"
+msgstr "Seleccionar"
+
+#: gtk2_ardour/editor.cc:2136
+#: gtk2_ardour/editor.cc:2211
+#: gtk2_ardour/editor_actions.cc:535
+#: gtk2_ardour/redirect_box.cc:1209
msgid "Cut"
msgstr "Cortar"
-#: editor.cc:2033 editor.cc:2109 editor.cc:3485 editor_actions.cc:219
-#: redirect_box.cc:1062
+#: gtk2_ardour/editor.cc:2137
+#: gtk2_ardour/editor.cc:2212
+#: gtk2_ardour/editor_actions.cc:540
+#: gtk2_ardour/redirect_box.cc:1211
msgid "Copy"
msgstr "Copiar"
-#: editor.cc:2034
-#, fuzzy
-msgid "Paste at edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
-
-#: editor.cc:2035
-#, fuzzy
-msgid "Paste at mouse"
-msgstr "usar salidas Master"
+#: gtk2_ardour/editor.cc:2138
+#: gtk2_ardour/editor.cc:2213
+#: gtk2_ardour/editor_actions.cc:542
+#: gtk2_ardour/redirect_box.cc:1217
+msgid "Paste"
+msgstr "Pegar"
-#: editor.cc:2039 editor.cc:3490
+#: gtk2_ardour/editor.cc:2142
+#: gtk2_ardour/editor_actions.cc:48
msgid "Align"
msgstr "Alinear"
-#: editor.cc:2040 editor.cc:3492
+#: gtk2_ardour/editor.cc:2143
msgid "Align Relative"
-msgstr "Alinear relativamente"
+msgstr "Alinear Relativamente"
-#: editor.cc:2044
+#: gtk2_ardour/editor.cc:2147
msgid "Insert chunk"
-msgstr "Insertar trecho"
+msgstr "Insertar fragmento"
-#: editor.cc:2051
-#, fuzzy
+#: gtk2_ardour/editor.cc:2154
msgid "Insert Selected Region"
-msgstr "Reproducir regin seleccionada cont�uamente"
+msgstr "Insertar Región seleccionada"
-#: editor.cc:2052
+#: gtk2_ardour/editor.cc:2155
msgid "Insert Existing Audio"
-msgstr ""
+msgstr "Insertar audio existente"
-#: editor.cc:2061 editor.cc:2117
+#: gtk2_ardour/editor.cc:2164
+#: gtk2_ardour/editor.cc:2220
msgid "Nudge entire track fwd"
-msgstr "Retocar toda la pista adelante"
+msgstr "Mover toda la Pista hacia adelante"
-#: editor.cc:2062 editor.cc:2118
-msgid "Nudge track after edit cursor fwd"
-msgstr "Retocar pista desde cursor de edicin adelante"
+#: gtk2_ardour/editor.cc:2165
+#: gtk2_ardour/editor.cc:2221
+msgid "Nudge track after edit point fwd"
+msgstr "Mover la Pista hacia adelante después del Punto de Edición"
-#: editor.cc:2063 editor.cc:2119
+#: gtk2_ardour/editor.cc:2166
+#: gtk2_ardour/editor.cc:2222
msgid "Nudge entire track bwd"
-msgstr "Retocar toda la pista atr�"
+msgstr "Mover toda la Pista hacia atrás"
-#: editor.cc:2064 editor.cc:2120
-msgid "Nudge track after edit cursor bwd"
-msgstr "Retocar toda la pista, desde cursor de edicin atr�"
+#: gtk2_ardour/editor.cc:2167
+#: gtk2_ardour/editor.cc:2223
+msgid "Nudge track after edit point bwd"
+msgstr "Mover Pista desde el Punto de Edición hacia atrás"
-#: editor.cc:2110 editor.cc:3487 editor_actions.cc:221 redirect_box.cc:1064
-msgid "Paste"
-msgstr "Pegar"
+#: gtk2_ardour/editor.cc:2198
+msgid "Select all after edit point"
+msgstr "Seleccionar todo después del Punto de Edición"
-#: editor.cc:2630
-msgid "select/move objects"
-msgstr "selecionar/mover objetos"
+#: gtk2_ardour/editor.cc:2199
+msgid "Select all before edit point"
+msgstr "Seleccionar todo antes del Punto de Edición"
-#: editor.cc:2631
-msgid "select/move ranges"
-msgstr "selecionar/mover intervalos"
+#: gtk2_ardour/editor.cc:2200
+msgid "Select all after playhead"
+msgstr "Seleccionar todo después del Cursor"
-#: editor.cc:2632
-msgid "draw gain automation"
-msgstr "dibujar automatizacin de volumen"
+#: gtk2_ardour/editor.cc:2201
+msgid "Select all before playhead"
+msgstr "Seleccionar todo antes del Cursor"
-#: editor.cc:2633
-msgid "select zoom range"
-msgstr "seleccionar rango de zoom"
+#: gtk2_ardour/editor.cc:2944
+msgid "Select/Move Objects"
+msgstr "Selecionar/Mover Objetos"
-#: editor.cc:2634
-msgid "stretch/shrink regions"
-msgstr "estirar/encoger regiones"
+#: gtk2_ardour/editor.cc:2945
+msgid "Select/Move Ranges"
+msgstr "Selecionar/Mover Rangos"
-#: editor.cc:2635
-#, fuzzy
-msgid "listen to specific regions"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor.cc:2946
+msgid "Draw Gain Automation"
+msgstr "Dibujar automatización de ganancia"
-#: editor.cc:2746
-msgid "Start:"
-msgstr "Inicio:"
+#: gtk2_ardour/editor.cc:2947
+msgid "Select Zoom Range"
+msgstr "Seleccionar rango de zoom"
-#: editor.cc:2747
-msgid "End:"
-msgstr "Final:"
+#: gtk2_ardour/editor.cc:2948
+msgid "Stretch/Shrink Regions"
+msgstr "Estirar/Encoger regiones"
-#: editor.cc:3362 editor.cc:3402
-#, fuzzy
-msgid "set selected regions"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor.cc:2949
+msgid "Listen to Specific Regions"
+msgstr "Escuchar regiones específicas"
+
+#: gtk2_ardour/editor.cc:2979
+#: gtk2_ardour/editor_actions.cc:309
+msgid "Zoom In"
+msgstr "Acercar"
+
+#: gtk2_ardour/editor.cc:2985
+#: gtk2_ardour/editor_actions.cc:307
+msgid "Zoom Out"
+msgstr "Alejar"
+
+#: gtk2_ardour/editor.cc:2991
+#: gtk2_ardour/editor_actions.cc:311
+msgid "Zoom to Session"
+msgstr "Ajustar Zoom a toda la sesión"
+
+#: gtk2_ardour/editor.cc:2997
+msgid "Zoom focus"
+msgstr "Foco del Zoom"
-#: editor.cc:3458 editor_actions.cc:204
+#: gtk2_ardour/editor.cc:3011
+msgid "Snap/Grid Units"
+msgstr "Unidades de ajuste a rejilla"
+
+#: gtk2_ardour/editor.cc:3017
+msgid "Snap/Grid Mode"
+msgstr "Modo de ajuste a rejilla"
+
+#: gtk2_ardour/editor.cc:3023
+msgid "Edit point"
+msgstr "Punto de Edición"
+
+#: gtk2_ardour/editor.cc:3187
+msgid "malformed URL passed to drag-n-drop code"
+msgstr ""
+
+#: gtk2_ardour/editor.cc:3306
+#: gtk2_ardour/editor_actions.cc:513
msgid "Undo"
msgstr "Deshacer"
-#: editor.cc:3460
+#: gtk2_ardour/editor.cc:3308
msgid "Undo (%1)"
msgstr "Deshacer (%1)"
-#: editor.cc:3470 editor_actions.cc:206
+#: gtk2_ardour/editor.cc:3315
+#: gtk2_ardour/editor_actions.cc:515
msgid "Redo"
msgstr "Rehacer"
-#: editor.cc:3472
+#: gtk2_ardour/editor.cc:3317
msgid "Redo (%1)"
msgstr "Rehacer (%1)"
-#: editor.cc:3506
-msgid "... as new track"
-msgstr ""
-
-#: editor.cc:3507
-#, fuzzy
-msgid "... as new region"
-msgstr "normalizar regiones"
+#: gtk2_ardour/editor.cc:3347
+msgid "Number of Duplications:"
+msgstr "Cantidad de duplicaciones:"
-#: editor.cc:3509
-msgid "Import audio (copy)"
-msgstr "Importar audio (copiar)"
+#: gtk2_ardour/editor.cc:3482
+msgid "Splice Edit"
+msgstr "Reunir"
-#: editor.cc:3512
-#, fuzzy
-msgid "Remove last capture"
-msgstr "Quitar ltima captura"
+#: gtk2_ardour/editor.cc:3484
+msgid "Slide Edit"
+msgstr "Deslizar"
-#: editor.cc:3536
-msgid "Duplicate how many times?"
-msgstr "Duplicar cuantas veces?"
+#: gtk2_ardour/editor.cc:3486
+msgid "Lock Edit"
+msgstr "Bloquear"
-#: editor.cc:4022
+#: gtk2_ardour/editor.cc:3897
msgid ""
"Playlist %1 is currently unused.\n"
"If left alone, no audio files used by it will be cleaned.\n"
"If deleted, audio files used by it alone by will cleaned."
msgstr ""
+"La Lista de Reproducción %1 no está siendo utilizada.\n"
+"Si la conserva, no se purgará ningún archivo de audio que ella use.\n"
+"Si la elimina, se purgarán los archivos de audio que use ella sola."
-#: editor.cc:4030
-#, fuzzy
+#: gtk2_ardour/editor.cc:3907
msgid "Delete playlist"
-msgstr "Nombre a captura de sesin"
+msgstr "Eliminar la Lista de Reproducción"
-#: editor.cc:4031
-#, fuzzy
+#: gtk2_ardour/editor.cc:3908
msgid "Keep playlist"
-msgstr "Nombre a captura de sesin"
-
-#: editor.cc:4032 editor_audio_import.cc:236 editor_ops.cc:2048
-#: editor_timefx.cc:71 export_dialog.cc:971 io_selector.cc:59
-#: io_selector.cc:793 redirect_box.cc:903 tempo_dialog.cc:20
-#: tempo_dialog.cc:37 tempo_dialog.cc:202 tempo_dialog.cc:220
+msgstr "Conservar la Lista de Reproducción"
+
+#: gtk2_ardour/editor.cc:3909
+#: gtk2_ardour/editor_audio_import.cc:607
+#: gtk2_ardour/editor_ops.cc:5483
+#: gtk2_ardour/editor_timefx.cc:89
+#: gtk2_ardour/export_dialog.cc:1075
+#: gtk2_ardour/io_selector.cc:60
+#: gtk2_ardour/io_selector.cc:750
+#: gtk2_ardour/redirect_box.cc:1051
+#: gtk2_ardour/sfdb_ui.cc:738
+#: gtk2_ardour/tempo_dialog.cc:41
+#: gtk2_ardour/tempo_dialog.cc:60
+#: gtk2_ardour/tempo_dialog.cc:275
+#: gtk2_ardour/tempo_dialog.cc:290
+#: gtk2_ardour/connection_editor.cc:59
msgid "Cancel"
msgstr "Cancelar"
-#: editor.cc:4199
-#, fuzzy
+#: gtk2_ardour/editor.cc:4086
+msgid "New name of snapshot"
+msgstr "Nuevo nombre de captura"
+
+# definir traducción de 'snapshot' para todo el proyecto:
+# captura?
+# captura de sesión?
+# instantánea?
+#: gtk2_ardour/editor.cc:4104
+msgid ""
+"Do you really want to remove snapshot \"%1\" ?\n"
+"(cannot be undone)"
+msgstr ""
+"¿Realmente desea eliminar la captura \"%1\" ?\n"
+"(no podrá deshacer esta acción)"
+
+#: gtk2_ardour/editor.cc:4106
+#: gtk2_ardour/editor_ops.cc:4325
+#: gtk2_ardour/editor_ops.cc:5933
+#: gtk2_ardour/route_ui.cc:931
+#: gtk2_ardour/visual_time_axis.cc:268
+msgid "No, do nothing."
+msgstr "No, no hacer nada."
+
+#: gtk2_ardour/editor.cc:4107
+#: gtk2_ardour/editor_ops.cc:5937
+#: gtk2_ardour/route_ui.cc:932
+#: gtk2_ardour/visual_time_axis.cc:269
+msgid "Yes, remove it."
+msgstr "Sí, eliminar esto."
+
+#: gtk2_ardour/editor.cc:4213
msgid "new playlists"
-msgstr "Nombre a captura de sesin"
+msgstr "nuevas Listas de Reproducción"
-#: editor.cc:4207
-#, fuzzy
+#: gtk2_ardour/editor.cc:4230
msgid "copy playlists"
-msgstr "Nombre a captura de sesin"
+msgstr "copiar Listas de Reproducción"
-#: editor.cc:4215
-#, fuzzy
+#: gtk2_ardour/editor.cc:4247
msgid "clear playlists"
-msgstr "Nombre a captura de sesin"
+msgstr "limpiar Listas de Reproducción"
-#: editor_actions.cc:28
-#, fuzzy
-msgid "Select regions"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor.cc:4837
+msgid "Please wait while Ardour loads visual data"
+msgstr "Por favor, espere mientras Ardour carga los datos visuales."
-#: editor_actions.cc:29
-#, fuzzy
-msgid "Select range operations"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor_actions.cc:49
+msgid "Autoconnect"
+msgstr "Conectar automáticamente"
-#: editor_actions.cc:30
-#, fuzzy
-msgid "Move edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor_actions.cc:50
+msgid "Crossfades"
+msgstr "Fundidos cruzados"
-#: editor_actions.cc:31
-#, fuzzy
-msgid "Region operations"
-msgstr "Regiones/creacin"
+#: gtk2_ardour/editor_actions.cc:52
+msgid "Move Selected Marker"
+msgstr "Mover la Marca seleccionada"
-#: editor_actions.cc:32
-msgid "Tools"
+# chequear en contexto
+#: gtk2_ardour/editor_actions.cc:53
+msgid "Select Range Operations"
+msgstr "Seleccionar Operaciones de Rango"
+
+#: gtk2_ardour/editor_actions.cc:54
+msgid "Select Regions"
+msgstr "Seleccionar Regiones"
+
+#: gtk2_ardour/editor_actions.cc:55
+msgid "Edit Point"
+msgstr "Punto de Edición"
+
+# no encuentro de dónde es esta cadena
+#: gtk2_ardour/editor_actions.cc:57
+msgid "Latch"
msgstr ""
-#: editor_actions.cc:33
-msgid "View"
+#: gtk2_ardour/editor_actions.cc:58
+msgid "Layering"
+msgstr "Superposición de Regiones"
+
+#: gtk2_ardour/editor_actions.cc:59
+msgid "Link"
msgstr ""
-#: editor_actions.cc:34
-#, fuzzy
-msgid "ZoomFocus"
-msgstr "Foco de Zoom"
+#: gtk2_ardour/editor_actions.cc:60
+#: gtk2_ardour/editor_actions.cc:97
+msgid "Zoom Focus"
+msgstr "Foco del Zoom"
+
+# ¿dónde aparece esta cadena?
+#: gtk2_ardour/editor_actions.cc:61
+msgid "Key Mouse"
+msgstr "Teclado/Ratón"
-#: editor_actions.cc:35
-#, fuzzy
-msgid "Meter hold"
-msgstr "Vmetro"
+# chequear en contexto
+#: gtk2_ardour/editor_actions.cc:62
+msgid "Locate To Markers"
+msgstr "Localizar a Marca"
-#: editor_actions.cc:36
+#: gtk2_ardour/editor_actions.cc:63
+#: gtk2_ardour/editor_actions.cc:704
+msgid "Markers"
+msgstr "Marcas"
+
+#: gtk2_ardour/editor_actions.cc:64
msgid "Meter falloff"
-msgstr ""
+msgstr "Tasa de decaimiento"
-#: editor_actions.cc:38
-#, fuzzy
-msgid "Crossfades"
-msgstr "editar fade in"
+#: gtk2_ardour/editor_actions.cc:65
+msgid "Meter hold"
+msgstr "Retención del vúmetro"
-#: editor_actions.cc:39
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:66
+msgid "Misc Options"
+msgstr "Opciones misceláneas"
+
+#: gtk2_ardour/editor_actions.cc:67
msgid "Monitoring"
-msgstr "Monitorizacin por Hardware"
+msgstr "Monitorización"
-#: editor_actions.cc:40
-#, fuzzy
-msgid "Autoconnect"
-msgstr "Conectar"
+#: gtk2_ardour/editor_actions.cc:72
+msgid "Primary Clock"
+msgstr "Reloj Primario"
-#: editor_actions.cc:41
-#, fuzzy
-msgid "Layering"
-msgstr "Capa"
+#: gtk2_ardour/editor_actions.cc:73
+msgid "Pullup / Pulldown"
+msgstr ""
-#: editor_actions.cc:42
-#, fuzzy
-msgid "Metering"
-msgstr "Vmetro"
+#: gtk2_ardour/editor_actions.cc:74
+msgid "Region"
+msgstr "Región"
-#: editor_actions.cc:43
-msgid "Fall off rate"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:75
+msgid "Region operations"
+msgstr "Operaciones de Región"
-#: editor_actions.cc:44
-msgid "Hold Time"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:76
+msgid "Gain"
+msgstr "Ganancia"
+
+#: gtk2_ardour/editor_actions.cc:77
+msgid "Rulers"
+msgstr "Reglas"
+
+#: gtk2_ardour/editor_actions.cc:78
+msgid "Views"
+msgstr "Vistas"
+
+# podría ser "desplazar", chequear contexto
+#: gtk2_ardour/editor_actions.cc:79
+msgid "Scroll"
+msgstr "Desplazamiento"
+
+#: gtk2_ardour/editor_actions.cc:80
+msgid "Secondary Clock"
+msgstr "Reloj Secundario"
+
+#: gtk2_ardour/editor_actions.cc:83
+#: gtk2_ardour/editor_actions.cc:523
+msgid "Separate"
+msgstr "Separar"
+
+#: gtk2_ardour/editor_actions.cc:86
+#: gtk2_ardour/mixer_strip.cc:88
+#: gtk2_ardour/mixer_strip.cc:109
+#: gtk2_ardour/mixer_strip.cc:494
+#: gtk2_ardour/route_time_axis.cc:188
+msgid "Solo"
+msgstr "Solo"
+
+#: gtk2_ardour/editor_actions.cc:87
+msgid "Subframes"
+msgstr "Sub cuadros"
-#: editor_actions.cc:45
-msgid "Add Existing Audio"
+#: gtk2_ardour/editor_actions.cc:90
+msgid "Timecode fps"
msgstr ""
-#. add named actions for the editor
-#: editor_actions.cc:50
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:92
+#: gtk2_ardour/analysis_window.cc:67
+msgid "Track"
+msgstr "Pista"
+
+#: gtk2_ardour/editor_actions.cc:93
+msgid "Tools"
+msgstr "Heramientas"
+
+#: gtk2_ardour/editor_actions.cc:95
+msgid "View"
+msgstr "Ver"
+
+#: gtk2_ardour/editor_actions.cc:96
+msgid "Waveforms"
+msgstr "Forma de onda"
+
+#: gtk2_ardour/editor_actions.cc:98
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gtk2_ardour/editor_actions.cc:100
+msgid "Link Region/Track Selection"
+msgstr "Vincular selección de Región y Pista"
+
+#: gtk2_ardour/editor_actions.cc:101
+msgid "Break drag"
+msgstr "Cancelar arrastre"
+
+#: gtk2_ardour/editor_actions.cc:103
msgid "Show Editor Mixer"
-msgstr "Mostrar todas las pistas de Audio en el Mixer"
+msgstr "Mostrar Mezclador en el Editor"
-#: editor_actions.cc:55
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:108
msgid "Span Entire Overlap"
-msgstr "Elevar regin una capa"
-
-#: editor_actions.cc:57 editor_actions.cc:384
-#, fuzzy
-msgid "Short"
-msgstr "conector"
+msgstr "A lo largo de todo el solapamiento"
-#: editor_actions.cc:64
+#: gtk2_ardour/editor_actions.cc:117
msgid "Created Automatically"
-msgstr ""
-
-#: editor_actions.cc:67
+msgstr "Creados Automáticamente"
+
+# ¿cómo traducir "fade"?
+# Audacity usa:
+# "fade out"="desvanecer progresivamente"
+# "fade in"="aparecer progresivamente"
+# por el momento utilizaré 'fundido' (fundido de entrada, fundido de salida, fundido cruzado)
+#: gtk2_ardour/editor_actions.cc:120
+msgid "Use Region Fades (global)"
+msgstr "Usar fundidos en Regiones (global)"
+
+#: gtk2_ardour/editor_actions.cc:122
+msgid "Show Region Fades"
+msgstr "Mostrar fundidos de Regiones"
+
+#: gtk2_ardour/editor_actions.cc:124
+msgid "Toggle Region Fade In"
+msgstr "Activar/Desactivar Fundido de Entrada"
+
+#: gtk2_ardour/editor_actions.cc:126
+msgid "Toggle Region Fade Out"
+msgstr "Activar/Desactivar Fundido de Salida"
+
+#: gtk2_ardour/editor_actions.cc:128
+msgid "Toggle Region Fades"
+msgstr "Activar/Desactivar Fundidos"
+
+#: gtk2_ardour/editor_actions.cc:131
+msgid "Playhead to Next Region Boundary"
+msgstr "llevar al Borde de Región siguiente"
+
+#: gtk2_ardour/editor_actions.cc:133
+msgid "Playhead to Previous Region Boundary"
+msgstr "llevar al Borde de Región anterior"
+
+#: gtk2_ardour/editor_actions.cc:136
msgid "Playhead to Next Region Start"
-msgstr ""
+msgstr "llevar al Inicio de Región siguiente"
-#: editor_actions.cc:69
+#: gtk2_ardour/editor_actions.cc:138
msgid "Playhead to Next Region End"
-msgstr ""
+msgstr "llevar al Final de Región siguiente"
-#: editor_actions.cc:71
+#: gtk2_ardour/editor_actions.cc:140
msgid "Playhead to Next Region Sync"
-msgstr ""
+msgstr "llevar al Punto de Sincronía siguiente"
-#: editor_actions.cc:74
+#: gtk2_ardour/editor_actions.cc:143
msgid "Playhead to Previous Region Start"
-msgstr ""
+msgstr "llevar al Inicio de Región anterior"
-#: editor_actions.cc:76
+#: gtk2_ardour/editor_actions.cc:145
msgid "Playhead to Previous Region End"
-msgstr ""
+msgstr "llevar al Final de Región anterior"
-#: editor_actions.cc:78
+#: gtk2_ardour/editor_actions.cc:147
msgid "Playhead to Previous Region Sync"
-msgstr ""
+msgstr "llevar al Punto de Sincronía anterior"
-#: editor_actions.cc:81
-#, fuzzy
-msgid "Edit Cursor to Next Region Start"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:150
+msgid "to Next Region Boundary"
+msgstr "llevar al Borde de Región siguiente"
-#: editor_actions.cc:83
-#, fuzzy
-msgid "Edit Cursor to Next Region End"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:152
+msgid "to Previous Region Boundary"
+msgstr "llevar al Borde de Región anterior"
-#: editor_actions.cc:85
-#, fuzzy
-msgid "Edit Cursor to Next Region Sync"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:155
+msgid "to Next Region Start"
+msgstr "llevar al siguiente Inicio de Región"
-#: editor_actions.cc:88
-msgid "Edit Cursor to Previous Region Start"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:157
+msgid "to Next Region End"
+msgstr "llevar al siguiente Final de Región"
-#: editor_actions.cc:90
-#, fuzzy
-msgid "Edit Cursor to Previous Region End"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:159
+msgid "to Next Region Sync"
+msgstr "llevar al Punto de Sincronía siguiente"
-#: editor_actions.cc:92
-#, fuzzy
-msgid "Edit Cursor to Previous Region Sync"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:162
+msgid "to Previous Region Start"
+msgstr "llevar al Inicio de Región anterior"
-#: editor_actions.cc:95
-msgid "Playhead to Range Start"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:164
+msgid "to Previous Region End"
+msgstr "llevar al Final de Región anterior"
-#: editor_actions.cc:97
-#, fuzzy
-msgid "Playhead to Range End"
-msgstr "Reproducir el intervalo cont�uamente"
+#: gtk2_ardour/editor_actions.cc:166
+msgid "to Previous Region Sync"
+msgstr "llevar al Punto de Sincronía anterior"
-#: editor_actions.cc:100
-#, fuzzy
-msgid "Edit Cursor to Range Start"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:169
+msgid "to Range Start"
+msgstr "al Inicio del Rango"
-#: editor_actions.cc:102
-#, fuzzy
-msgid "Edit Cursor to Range End"
-msgstr "Desde cursor de edicin hasta final"
+#: gtk2_ardour/editor_actions.cc:171
+msgid "to Range End"
+msgstr "al Final del Rango"
-#: editor_actions.cc:105 editor_ops.cc:1363
-#, fuzzy
-msgid "select all"
-msgstr "Seleccionar todo"
+#: gtk2_ardour/editor_actions.cc:174
+msgid "Playhead to Range Start"
+msgstr "llevar al Inicio del Rango"
-#: editor_actions.cc:107
-#, fuzzy
-msgid "Select All After Edit Cursor"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor_actions.cc:176
+msgid "Playhead to Range End"
+msgstr "llevar al Final del Rango"
-#: editor_actions.cc:109
-msgid "Select All Before Edit Cursor"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:181
+#: gtk2_ardour/redirect_box.cc:1221
+msgid "Deselect All"
+msgstr "Deseleccionar Todo"
-#: editor_actions.cc:112
-#, fuzzy
-msgid "Select All After Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:183
+msgid "Invert Selection"
+msgstr "Invertir Selección"
-#: editor_actions.cc:114
-#, fuzzy
-msgid "Select All Before Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:190
+msgid "Select All Overlapping Edit Range"
+msgstr "Seleccionar Todo lo solapado al Rango de Edición"
+
+#: gtk2_ardour/editor_actions.cc:192
+msgid "Select All Inside Edit Range"
+msgstr "Seleccionar Todo dentro de Rango de Edición"
-#: editor_actions.cc:116
-#, fuzzy
-msgid "Select All Between Cursors"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor_actions.cc:195
+msgid "Select Edit Range"
+msgstr "Seleccionar Rango de Edición"
-#: editor_actions.cc:119
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:198
msgid "Select All in Punch Range"
-msgstr "Seleccionar intervalo de punch"
+msgstr "Seleccionar Todo dentro de Rango de Pinchado"
-#: editor_actions.cc:121
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:200
msgid "Select All in Loop Range"
-msgstr "seleccionar rango de zoom"
+msgstr "Seleccionar Todo dentro de Rango de Bucle"
+
+#: gtk2_ardour/editor_actions.cc:203
+msgid "Select Next Track/Bus"
+msgstr "Seleccionar Pista/Bus siguiente"
+
+#: gtk2_ardour/editor_actions.cc:205
+msgid "Select Previous Track/Bus"
+msgstr "Seleccionar Pista/Bus anterior"
+
+#: gtk2_ardour/editor_actions.cc:208
+msgid "Toggle Record Enable"
+msgstr "Activar/Desactivar Grabación"
+
+#: gtk2_ardour/editor_actions.cc:212
+msgid "Save View 1"
+msgstr "Guardar Vista 1"
+
+#: gtk2_ardour/editor_actions.cc:214
+msgid "Goto View 1"
+msgstr "Ir a Vista 1"
+
+#: gtk2_ardour/editor_actions.cc:216
+msgid "Save View 2"
+msgstr "Guardar Vista 2"
+
+#: gtk2_ardour/editor_actions.cc:218
+msgid "Goto View 2"
+msgstr "Ir a Vista 2"
+
+#: gtk2_ardour/editor_actions.cc:220
+msgid "Save View 3"
+msgstr "Guardar Vista 3"
+
+#: gtk2_ardour/editor_actions.cc:222
+msgid "Goto View 3"
+msgstr "Ir a Vista 3"
+
+#: gtk2_ardour/editor_actions.cc:224
+msgid "Save View 4"
+msgstr "Guardar Vista 4"
+
+#: gtk2_ardour/editor_actions.cc:226
+msgid "Goto View 4"
+msgstr "Ir a Vista 4"
+
+#: gtk2_ardour/editor_actions.cc:228
+msgid "Save View 5"
+msgstr "Guardar Vista 5"
+
+#: gtk2_ardour/editor_actions.cc:230
+msgid "Goto View 5"
+msgstr "Ir a Vista 5"
+
+#: gtk2_ardour/editor_actions.cc:232
+msgid "Save View 6"
+msgstr "Guardar Vista 6"
+
+#: gtk2_ardour/editor_actions.cc:234
+msgid "Goto View 6"
+msgstr "Ir a Vista 6"
+
+#: gtk2_ardour/editor_actions.cc:236
+msgid "Save View 7"
+msgstr "Guardar Vista 7"
+
+#: gtk2_ardour/editor_actions.cc:238
+msgid "Goto View 7"
+msgstr "Ir a Vista 7"
+
+#: gtk2_ardour/editor_actions.cc:240
+msgid "Save View 8"
+msgstr "Guardar Vista 8"
+
+#: gtk2_ardour/editor_actions.cc:242
+msgid "Goto View 8"
+msgstr "Ir a Vista 8"
+
+#: gtk2_ardour/editor_actions.cc:244
+msgid "Save View 9"
+msgstr "Guardar Vista 9"
+
+#: gtk2_ardour/editor_actions.cc:246
+msgid "Goto View 9"
+msgstr "Ir a Vista 9"
+
+#: gtk2_ardour/editor_actions.cc:248
+msgid "Save View 10"
+msgstr "Guardar Vista 10"
+
+#: gtk2_ardour/editor_actions.cc:250
+msgid "Goto View 10"
+msgstr "Ir a Vista 10"
+
+#: gtk2_ardour/editor_actions.cc:252
+msgid "Save View 11"
+msgstr "Guardar Vista 11"
+
+#: gtk2_ardour/editor_actions.cc:254
+msgid "Goto View 11"
+msgstr "Ir a Vista 11"
+
+#: gtk2_ardour/editor_actions.cc:256
+msgid "Save View 12"
+msgstr "Guardar Vista 12"
+
+#: gtk2_ardour/editor_actions.cc:258
+msgid "Goto View 12"
+msgstr "Ir a Vista 12"
+
+#: gtk2_ardour/editor_actions.cc:262
+msgid "Locate to Mark 1"
+msgstr "Ir a Marca 1"
+
+#: gtk2_ardour/editor_actions.cc:264
+msgid "Locate to Mark 2"
+msgstr "Ir a Marca 2"
+
+#: gtk2_ardour/editor_actions.cc:266
+msgid "Locate to Mark 3"
+msgstr "Ir a Marca 3"
+
+#: gtk2_ardour/editor_actions.cc:268
+msgid "Locate to Mark 4"
+msgstr "Ir a Marca 4"
+
+#: gtk2_ardour/editor_actions.cc:270
+msgid "Locate to Mark 5"
+msgstr "Ir a Marca 5"
+
+#: gtk2_ardour/editor_actions.cc:272
+msgid "Locate to Mark 6"
+msgstr "Ir a Marca 6"
+
+#: gtk2_ardour/editor_actions.cc:274
+msgid "Locate to Mark 7"
+msgstr "Ir a Marca 7"
+
+#: gtk2_ardour/editor_actions.cc:276
+msgid "Locate to Mark 8"
+msgstr "Ir a Marca 8"
-#: editor_actions.cc:124
+#: gtk2_ardour/editor_actions.cc:278
+msgid "Locate to Mark 9"
+msgstr "Ir a Marca 9"
+
+#: gtk2_ardour/editor_actions.cc:281
msgid "Jump Forward to Mark"
-msgstr ""
+msgstr "llevar a Marca siguiente"
-#: editor_actions.cc:126
+#: gtk2_ardour/editor_actions.cc:283
msgid "Jump Backward to Mark"
-msgstr ""
+msgstr "llevar a Marca anterior"
-#: editor_actions.cc:128
-#, fuzzy
-msgid "Add Location from Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:285
+msgid "Add Mark from Playhead"
+msgstr "Añadir Marca en Cursor"
-#: editor_actions.cc:131
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:288
msgid "Nudge Forward"
-msgstr "Retocar"
+msgstr "Mover hacia adelante"
-#: editor_actions.cc:133
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:290
msgid "Nudge Next Forward"
-msgstr "Retocar regin/selecin adelante"
+msgstr "Mover siguiente hacia adelante"
-#: editor_actions.cc:135
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:292
msgid "Nudge Backward"
-msgstr "Retocar"
+msgstr "Mover hacia atrás"
-#: editor_actions.cc:137
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:294
msgid "Nudge Next Backward"
-msgstr "Retocar toda la pista adelante"
+msgstr "Mover siguiente hacia atrás"
-#: editor_actions.cc:140
-#, fuzzy
-msgid "Zoom Out"
-msgstr "Alejar"
+#: gtk2_ardour/editor_actions.cc:297
+msgid "Nudge Playhead Forward"
+msgstr "Mover hacia adelante"
-#: editor_actions.cc:142
-#, fuzzy
-msgid "Zoom In"
-msgstr "Acercar"
+#: gtk2_ardour/editor_actions.cc:299
+msgid "Nudge Playhead Backward"
+msgstr "Mover hacia atrás"
-#: editor_actions.cc:144
-#, fuzzy
-msgid "Zoom to Session"
-msgstr "Mostrar toda la sesin"
+#: gtk2_ardour/editor_actions.cc:301
+msgid "Forward To Grid"
+msgstr "llevar al punto de Rejilla siguiente"
-#: editor_actions.cc:147
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:303
+msgid "Backward To Grid"
+msgstr "llevar al punto de Rejilla anterior"
+
+#: gtk2_ardour/editor_actions.cc:313
+msgid "Zoom to Region"
+msgstr "Zoom a Región"
+
+#: gtk2_ardour/editor_actions.cc:315
+msgid "Zoom to Region (W&H)"
+msgstr "Zoom a Región (alto y ancho)"
+
+#: gtk2_ardour/editor_actions.cc:317
+msgid "Toggle Zoom State"
+msgstr "Siguiente modo de Zoom"
+
+#: gtk2_ardour/editor_actions.cc:320
+msgid "Move Selected Tracks Up"
+msgstr "Mover Pistas seleccionadas hacia Arriba"
+
+#: gtk2_ardour/editor_actions.cc:322
+msgid "Move Selected Tracks Down"
+msgstr "Mover Pistas seleccionadas hacia Abajo"
+
+#: gtk2_ardour/editor_actions.cc:325
msgid "Scroll Tracks Up"
-msgstr "Llenar Pista"
+msgstr "Desplazar Pistas hacia Arriba"
-#: editor_actions.cc:149
+#: gtk2_ardour/editor_actions.cc:327
msgid "Scroll Tracks Down"
-msgstr ""
+msgstr "Desplazar Pistas hacia Abajo"
-#: editor_actions.cc:151
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:329
msgid "Step Tracks Up"
-msgstr "Ocultar esta pista"
+msgstr "Mover pistas hacia arriba"
-#: editor_actions.cc:153
+#: gtk2_ardour/editor_actions.cc:331
msgid "Step Tracks Down"
-msgstr ""
+msgstr "Mover pistas hacia abajo"
-#: editor_actions.cc:156
+#: gtk2_ardour/editor_actions.cc:334
msgid "Scroll Backward"
-msgstr ""
+msgstr "Desplazarse hacia atrás"
-#: editor_actions.cc:158
+#: gtk2_ardour/editor_actions.cc:336
msgid "Scroll Forward"
-msgstr ""
+msgstr "Desplazarse hacia adalante"
-#: editor_actions.cc:160
+#: gtk2_ardour/editor_actions.cc:338
msgid "goto"
-msgstr ""
+msgstr "Ir"
-#: editor_actions.cc:162
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:340
msgid "Center Playhead"
-msgstr "Barra de reproduccin"
+msgstr "Centrar Cursor"
-#: editor_actions.cc:164
-#, fuzzy
-msgid "Center Edit Cursor"
-msgstr "Cursor de Edicin"
+#: gtk2_ardour/editor_actions.cc:342
+msgid "Center Active Marker"
+msgstr "Centrar Marca Activa"
-#: editor_actions.cc:166
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:345
msgid "Playhead Forward"
-msgstr "Barra de reproduccin"
+msgstr "Cursor hacia adelante"
-#: editor_actions.cc:168
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:347
msgid "Playhead Backward"
-msgstr "Barra de reproduccin"
+msgstr "Cursor hacia atrás"
+
+#: gtk2_ardour/editor_actions.cc:350
+msgid "Playhead To Active Mark"
+msgstr "llevar a Marca Activa"
+
+#: gtk2_ardour/editor_actions.cc:352
+msgid "Active Mark To Playhead"
+msgstr "llevar al Cursor"
+
+#: gtk2_ardour/editor_actions.cc:355
+msgid "Trim Start At Edit Point"
+msgstr "Recortar inicio hasta el Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:358
+msgid "Trim End At Edit Point"
+msgstr "Recortar final desde el Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:362
+msgid "Start To Edit Point"
+msgstr "Desde principio hasta Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:365
+msgid "Edit Point To End"
+msgstr "Desde Punto de Edición hasta el final"
+
+#: gtk2_ardour/editor_actions.cc:375
+msgid "Set Loop From Edit Range"
+msgstr "Definir Bucle a partir de Rango de Edición"
+
+#: gtk2_ardour/editor_actions.cc:377
+msgid "Set Loop From Region"
+msgstr "Definir Bucle a partir de Región"
-#: editor_actions.cc:170
-#, fuzzy
-msgid "Playhead to Edit"
-msgstr "Barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:383
+msgid "Set Punch From Edit Range"
+msgstr "Definir Rango de Pinchado a partir de Rango de Edición"
-#: editor_actions.cc:172
-#, fuzzy
-msgid "Edit to Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:385
+msgid "Set Punch From Region"
+msgstr "Definir Rango de Pinchado a partir de Región"
-#: editor_actions.cc:175
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:388
+msgid "Transpose"
+msgstr "Transponer"
+
+#: gtk2_ardour/editor_actions.cc:390
+msgid "Toggle Opaque"
+msgstr "Conmutar Opaco"
+
+#: gtk2_ardour/editor_actions.cc:393
+msgid "Add 1 Range Marker"
+msgstr "Agregar 1 Marca de Rango"
+
+#: gtk2_ardour/editor_actions.cc:396
+msgid "Add Range Marker(s)"
+msgstr "Agregar Marca/s de Rango"
+
+#: gtk2_ardour/editor_actions.cc:400
+msgid "Set Fade In Length"
+msgstr "Definir fundido de entrada hasta Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:402
+msgid "Toggle Fade In Active"
+msgstr "Activar/Desactivar fundido de entrada"
+
+#: gtk2_ardour/editor_actions.cc:404
+msgid "Set Fade Out Length"
+msgstr "Definir fundido de salida desde Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:406
+msgid "Toggle Fade Out Active"
+msgstr "Activar/Desactivar fundido de salida"
+
+#: gtk2_ardour/editor_actions.cc:409
msgid "Align Regions Start"
-msgstr "Comienzos de regin"
+msgstr "Alinear Inicios de región"
-#: editor_actions.cc:177
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:412
msgid "Align Regions Start Relative"
-msgstr "Alinear relativamente"
+msgstr "Alinear Regiones en base al inicio"
-#: editor_actions.cc:179
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:415
msgid "Align Regions End"
-msgstr "normalizar regiones"
+msgstr "Alinear finales de Región"
-#: editor_actions.cc:181
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:418
msgid "Align Regions End Relative"
-msgstr "Alinear relativamente"
+msgstr "Alinear Regiones en base al final"
-#: editor_actions.cc:184
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:422
msgid "Align Regions Sync"
-msgstr "normalizar regiones"
+msgstr "Alinear Puntos de Sincronía de región"
-#: editor_actions.cc:186
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:425
msgid "Align Regions Sync Relative"
-msgstr "Alinear relativamente"
+msgstr "Alinear regiones en base al Punto de Sincronía"
+
+#: gtk2_ardour/editor_actions.cc:429
+msgid "Play From Edit Point"
+msgstr "Reproducir desde Punto de Edición"
+
+#: gtk2_ardour/editor_actions.cc:431
+msgid "Play from Edit Point & Return"
+msgstr "Reproducir desde Punto de Edición y Retornar"
+
+#: gtk2_ardour/editor_actions.cc:434
+msgid "Play Edit Range"
+msgstr "Reproducir Rango de Edición"
-#: editor_actions.cc:189
-#, fuzzy
-msgid "Audition at Mouse"
-msgstr "Audicionando"
+#: gtk2_ardour/editor_actions.cc:435
+msgid "Play Selected Region(s)"
+msgstr "Reproducir región/es seleccionada/s"
-#: editor_actions.cc:191
-#, fuzzy
+# (22:35:44) las: mtaht4: brush at mouse is mostly deprecated
+#: gtk2_ardour/editor_actions.cc:438
msgid "Brush at Mouse"
-msgstr "usar salidas Master"
+msgstr ""
-#: editor_actions.cc:193
-#, fuzzy
-msgid "Set Edit Cursor"
-msgstr "Cursor de Edicin"
+#: gtk2_ardour/editor_actions.cc:441
+msgid "Playhead to Mouse"
+msgstr "llevar al Ratón"
-#: editor_actions.cc:195
-#, fuzzy
-msgid "Mute/Unmute Region"
-msgstr "Crear Regin"
+# sé que no es literal
+# lo modifiqué para que la entrada de menú sea consistente con el resto de las entradas
+# pido disculpas si está mal
+#: gtk2_ardour/editor_actions.cc:443
+msgid "Active Marker to Mouse"
+msgstr "llevar al Ratón"
+
+#: gtk2_ardour/editor_actions.cc:446
+msgid "Duplicate Region"
+msgstr "Duplicar Región"
+
+#: gtk2_ardour/editor_actions.cc:449
+msgid "Multi-Duplicate Region"
+msgstr "Multi-duplicar Región"
+
+#: gtk2_ardour/editor_actions.cc:452
+msgid "Duplicate Range"
+msgstr "Duplicar Rango"
+
+#: gtk2_ardour/editor_actions.cc:455
+msgid "Insert Region"
+msgstr "Insertar Región"
+
+#: gtk2_ardour/editor_actions.cc:458
+msgid "Normalize Region"
+msgstr "Normalizar Región"
+
+#: gtk2_ardour/editor_actions.cc:464
+msgid "Auto-Rename"
+msgstr "Auto-Renombrar"
-#: editor_actions.cc:197
-#, fuzzy
-msgid "Set Playhead"
-msgstr "Barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:467
+msgid "Boost Region Gain"
+msgstr "Amplificar Región"
-#: editor_actions.cc:199
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:470
+msgid "Cut Region Gain"
+msgstr "Atenuar Región"
+
+#: gtk2_ardour/editor_actions.cc:473
+#: gtk2_ardour/rhythm_ferret.cc:54
msgid "Split Region"
-msgstr "Separar Regin"
+msgstr "Separar Región"
-#: editor_actions.cc:201
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:476
msgid "Set Region Sync Position"
-msgstr "Por Posicin de regin"
+msgstr "Definir Punto de Sincronía"
+
+#: gtk2_ardour/editor_actions.cc:479
+msgid "Remove Region Sync"
+msgstr "Quitar Punto de Sincronía"
+
+#: gtk2_ardour/editor_actions.cc:482
+msgid "Raise Region"
+msgstr "Colocar Región encima"
+
+#: gtk2_ardour/editor_actions.cc:485
+msgid "Lower Region"
+msgstr "Colocar Región debajo"
+
+#: gtk2_ardour/editor_actions.cc:488
+msgid "Export Region"
+msgstr "Exportar Región"
-#: editor_actions.cc:209
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:491
+msgid "Lock Region"
+msgstr "Bloquear Región"
+
+#: gtk2_ardour/editor_actions.cc:494
+msgid "Glue Region To Bars&Beats"
+msgstr "Vincular región a Compases&Pulsos"
+
+#: gtk2_ardour/editor_actions.cc:497
+msgid "Move To Original Position"
+msgstr "Mover a Posición Original"
+
+#: gtk2_ardour/editor_actions.cc:509
+msgid "Mute/Unmute Region"
+msgstr "Región Muda/No muda"
+
+#: gtk2_ardour/editor_actions.cc:518
msgid "Export Session"
-msgstr "Exportar regin"
+msgstr "Exportar Sesión"
-#: editor_actions.cc:211
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:520
+#: gtk2_ardour/editor_markers.cc:641
msgid "Export Range"
-msgstr "Separar Regin"
-
-#. Note: for now, editor-delete does the exact same thing as editor-cut
-#: editor_actions.cc:217
-#, fuzzy
+msgstr "Exportar Rango"
+
+#: gtk2_ardour/editor_actions.cc:526
+msgid "Separate Using Punch Range"
+msgstr "Separar usando Rango de Pinchado"
+
+#: gtk2_ardour/editor_actions.cc:529
+msgid "Separate Using Loop Range"
+msgstr "Separar usando Rango de Bucle"
+
+#: gtk2_ardour/editor_actions.cc:532
+#: gtk2_ardour/editor_actions.cc:562
+msgid "Crop"
+msgstr "Recortar"
+
+#: gtk2_ardour/editor_actions.cc:538
+#: gtk2_ardour/editor_actions.cc:595
+#: gtk2_ardour/redirect_box.cc:1214
+#: gtk2_ardour/route_time_axis.cc:520
+#: gtk2_ardour/connection_editor.cc:55
msgid "Delete"
-msgstr "quitar"
+msgstr "Eliminar"
-#: editor_actions.cc:223
-#, fuzzy
-msgid "Duplicate Region"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor_actions.cc:545
+msgid "Set Tempo from Region=Bar"
+msgstr "Definir tempo en base a Región=Compás"
-#: editor_actions.cc:225
-#, fuzzy
-msgid "Duplicate Range"
-msgstr "Duplicar"
+#: gtk2_ardour/editor_actions.cc:548
+msgid "Set Tempo from Edit Range=Bar"
+msgstr "Definir tempo en base a Rango de Edición=Compás"
-#: editor_actions.cc:227
-msgid "Insert Region"
-msgstr "Insertar Regin"
+#: gtk2_ardour/editor_actions.cc:551
+msgid "Split Regions At Percussion Onsets"
+msgstr "Separar regiones en inicios de percusión"
-#: editor_actions.cc:229
-#, fuzzy
-msgid "Reverse Region"
-msgstr "invertir regiones"
+#: gtk2_ardour/editor_actions.cc:554
+#: gtk2_ardour/rhythm_ferret.cc:48
+msgid "Rhythm Ferret"
+msgstr "Rhythm Ferret"
-#: editor_actions.cc:231
-#, fuzzy
-msgid "Normalize Region"
-msgstr "Normalizar"
+#: gtk2_ardour/editor_actions.cc:557
+msgid "Move Forward to Transient"
+msgstr "llevar al transitorio siguiente"
-#: editor_actions.cc:233
-#, fuzzy
-msgid "crop"
-msgstr "copiar"
+#: gtk2_ardour/editor_actions.cc:559
+msgid "Move Backwards to Transient"
+msgstr "llevar al transitorio anterior"
-#: editor_actions.cc:235
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:564
msgid "Insert Chunk"
-msgstr "Insertar trecho"
+msgstr "Insertar fragmento"
-#: editor_actions.cc:238
-#, fuzzy
-msgid "Split at edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor_actions.cc:567
+msgid "Split At Edit Point"
+msgstr "Separar en el Punto de Edición"
-#: editor_actions.cc:241
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:570
msgid "Start Range"
-msgstr "Separar Regin"
+msgstr "Comenzar Rango"
-#: editor_actions.cc:243
+#: gtk2_ardour/editor_actions.cc:572
msgid "Finish Range"
-msgstr ""
+msgstr "Terminar Rango"
-#: editor_actions.cc:245
+#: gtk2_ardour/editor_actions.cc:574
msgid "Finish add Range"
-msgstr ""
+msgstr "Terminar añadir Rango"
-#: editor_actions.cc:248
-msgid "Extend Range to End of Region"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:582
+msgid "Follow Playhead"
+msgstr "Seguir al Cursor"
-#: editor_actions.cc:250
-#, fuzzy
-msgid "Extend Range to Start of Region"
-msgstr "Ir al inicio de la sesin"
+#: gtk2_ardour/editor_actions.cc:587
+#: gtk2_ardour/editor_ops.cc:5976
+msgid "Insert Time"
+msgstr "Insertar Tiempo"
-#: editor_actions.cc:253
-#, fuzzy
-msgid "Follow Playhead"
-msgstr "Seguir a la barra de reproduccin"
+#: gtk2_ardour/editor_actions.cc:591
+msgid "Toggle Active"
+msgstr "Activar/Desactivar pista"
+
+#: gtk2_ardour/editor_actions.cc:602
+msgid "Fit Selected Tracks"
+msgstr "Encajar las pistas seleccionadas en la ventana"
+
+#: gtk2_ardour/editor_actions.cc:604
+#: gtk2_ardour/time_axis_view.cc:638
+msgid "Largest"
+msgstr "Enorme"
+
+#: gtk2_ardour/editor_actions.cc:607
+#: gtk2_ardour/time_axis_view.cc:640
+msgid "Larger"
+msgstr "Mayor"
+
+#: gtk2_ardour/editor_actions.cc:610
+#: gtk2_ardour/time_axis_view.cc:639
+msgid "Large"
+msgstr "Grande"
+
+#: gtk2_ardour/editor_actions.cc:616
+#: gtk2_ardour/time_axis_view.cc:643
+msgid "Small"
+msgstr "Chica"
+
+#: gtk2_ardour/editor_actions.cc:620
+#: gtk2_ardour/time_axis_view.cc:642
+msgid "Smaller"
+msgstr "Menor"
-#: editor_actions.cc:261
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:627
msgid "Zoom Focus Left"
-msgstr "Foco de Zoom"
+msgstr "Foco de Zoom a la Izquierda"
-#: editor_actions.cc:263
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:629
msgid "Zoom Focus Right"
-msgstr "Foco de Zoom"
+msgstr "Foco de Zoom a la Derecha"
-#: editor_actions.cc:265
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:631
msgid "Zoom Focus Center"
-msgstr "Foco de Zoom"
+msgstr "Foco de Zoom al Centro"
-#: editor_actions.cc:267
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:633
msgid "Zoom Focus Playhead"
-msgstr "Foco de Zoom"
+msgstr "Foco de Zoom al Cursor"
-#: editor_actions.cc:269
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:635
+msgid "Zoom Focus Mouse"
+msgstr "Foco de Zoom al Ratón"
+
+#: gtk2_ardour/editor_actions.cc:637
msgid "Zoom Focus Edit"
-msgstr "Foco de Zoom"
+msgstr "Foco de Zoom al Punto de Edición"
-#: editor_actions.cc:275
+#: gtk2_ardour/editor_actions.cc:643
msgid "Object Tool"
-msgstr ""
+msgstr "Herramienta de Objeto"
-#: editor_actions.cc:276
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:644
msgid "Range Tool"
-msgstr "intervalo"
+msgstr "Herramienta de Rango"
-#: editor_actions.cc:277
+#: gtk2_ardour/editor_actions.cc:645
msgid "Gain Tool"
-msgstr ""
+msgstr "Herramienta de Ganancia"
-#: editor_actions.cc:278
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:646
msgid "Zoom Tool"
-msgstr "Alejar"
+msgstr "Herramienta de Zoom"
-#: editor_actions.cc:279
+#: gtk2_ardour/editor_actions.cc:647
msgid "Timefx Tool"
-msgstr ""
+msgstr "Herramienta de Efectos de tiempo "
+
+#: gtk2_ardour/editor_actions.cc:649
+msgid "Step Mouse Mode"
+msgstr "Siguiente modo de Ratón"
+
+#: gtk2_ardour/editor_actions.cc:656
+msgid "Change edit point"
+msgstr "Cambiar Punto de Edición"
-#: editor_actions.cc:286
-#, fuzzy
-msgid "Snap to frame"
+#: gtk2_ardour/editor_actions.cc:657
+msgid "Change edit point (w/Marker)"
+msgstr "Cambiar Punto de Edición (c/Marca)"
+
+# seguro?
+#: gtk2_ardour/editor_actions.cc:659
+msgid "Splice"
+msgstr "Reunir"
+
+#: gtk2_ardour/editor_actions.cc:661
+msgid "Slide"
+msgstr "Deslizar"
+
+# no es literal, pero describe la acción que realiza...
+# am I missing something?
+#: gtk2_ardour/editor_actions.cc:663
+msgid "Toggle Edit Mode"
+msgstr "Siguiente Modo de Edición"
+
+#: gtk2_ardour/editor_actions.cc:665
+msgid "Snap To"
+msgstr "Ajustar a"
+
+#: gtk2_ardour/editor_actions.cc:666
+msgid "Snap Mode"
msgstr "Modo de ajuste"
-#: editor_actions.cc:287
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:673
+msgid "Next Snap Mode"
+msgstr "Siguiente modo de ajuste a rejilla"
+
+#: gtk2_ardour/editor_actions.cc:674
+msgid "Next Snap Choice"
+msgstr "Siguiente unidad de ajuste a rejilla"
+
+#: gtk2_ardour/editor_actions.cc:679
msgid "Snap to cd frame"
-msgstr "Modo de ajuste"
+msgstr "Ajustar a cuadros de CD"
-#: editor_actions.cc:288
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:680
msgid "Snap to SMPTE frame"
-msgstr "SMPTE Cuadros/segundo"
+msgstr "Ajustar a cuadros SMPTE"
-#: editor_actions.cc:289
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:681
msgid "Snap to SMPTE seconds"
-msgstr "SMPTE Cuadros/segundo"
+msgstr "Ajustar a segundos SMPTE"
-#: editor_actions.cc:290
+#: gtk2_ardour/editor_actions.cc:682
msgid "Snap to SMPTE minutes"
-msgstr ""
+msgstr "Ajustar a minutos SMPTE"
-#: editor_actions.cc:291
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:683
msgid "Snap to seconds"
-msgstr "Minutos:Segundos"
+msgstr "Ajustar a segundos"
-#: editor_actions.cc:292
+#: gtk2_ardour/editor_actions.cc:684
msgid "Snap to minutes"
-msgstr ""
+msgstr "Ajustar a minutos"
-#: editor_actions.cc:293
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:685
msgid "Snap to thirtyseconds"
-msgstr "trig�ima segunda (32)"
+msgstr "Ajustar a Pulso/32"
-#: editor_actions.cc:294
+#: gtk2_ardour/editor_actions.cc:686
msgid "Snap to asixteenthbeat"
-msgstr ""
+msgstr "Ajustar a Pulso/16"
-#: editor_actions.cc:295
+#: gtk2_ardour/editor_actions.cc:687
msgid "Snap to eighths"
-msgstr ""
+msgstr "Ajustar a Pulso/8"
-#: editor_actions.cc:296
+#: gtk2_ardour/editor_actions.cc:688
msgid "Snap to quarters"
-msgstr ""
+msgstr "Ajustar a Pulso/4"
-#: editor_actions.cc:297
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:689
msgid "Snap to thirds"
-msgstr "Modo de ajuste"
+msgstr "Ajustar a Pulso/3"
-#: editor_actions.cc:298
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:690
msgid "Snap to beat"
-msgstr "Modo de ajuste"
+msgstr "Ajustar a Pulsos"
-#: editor_actions.cc:299
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:691
msgid "Snap to bar"
-msgstr "Ajustar a"
+msgstr "Ajustar a Compases"
-#: editor_actions.cc:300
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:692
msgid "Snap to mark"
-msgstr "agregar un marcador de regin"
+msgstr "Ajustar a Marcas"
-#: editor_actions.cc:301
-#, fuzzy
-msgid "Snap to edit cursor"
-msgstr "Desde principio hasta cursor de edicin"
-
-#: editor_actions.cc:302
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:693
msgid "Snap to region start"
-msgstr "Comienzos de regin"
+msgstr "Ajustar a Inicios de Región"
-#: editor_actions.cc:303
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:694
msgid "Snap to region end"
-msgstr "Fines de regin"
+msgstr "Ajustar a Finales de Región"
-#: editor_actions.cc:304
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:695
msgid "Snap to region sync"
-msgstr "Sincronizaciones de region"
+msgstr "Ajustar a Puntos de Sincronía"
-#: editor_actions.cc:305
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:696
msgid "Snap to region boundary"
-msgstr "Bordes de regin"
+msgstr "Ajustar a Bordes de Región"
+
+#: gtk2_ardour/editor_actions.cc:703
+msgid "Ranges"
+msgstr "Rangos"
+
+#: gtk2_ardour/editor_actions.cc:706
+msgid "Loop/Punch"
+msgstr "Bucle/Pinchar"
+
+#: gtk2_ardour/editor_actions.cc:710
+msgid "Min:Sec"
+msgstr "Mins:Segs"
-#. the region list popup menu
-#: editor_actions.cc:314
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:742
msgid "Sort"
-msgstr "conector"
+msgstr "Ordenar"
-#: editor_actions.cc:322
+#: gtk2_ardour/editor_actions.cc:750
msgid "Show all"
msgstr "Mostrar todo"
-#: editor_actions.cc:323
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:751
msgid "Show automatic regions"
-msgstr "Mostrar toda automatizacin"
+msgstr "Mostrar regiones automáticas"
-#: editor_actions.cc:325
+#: gtk2_ardour/editor_actions.cc:753
msgid "Ascending"
msgstr "Ascendente"
-#: editor_actions.cc:327
+#: gtk2_ardour/editor_actions.cc:755
msgid "Descending"
msgstr "Descendente"
-#: editor_actions.cc:330
+#: gtk2_ardour/editor_actions.cc:758
msgid "By Region Name"
-msgstr "Por Nombre de Regin"
+msgstr "Por Nombre de Región"
-#: editor_actions.cc:332
+#: gtk2_ardour/editor_actions.cc:760
msgid "By Region Length"
-msgstr "Por Tamao de Regin"
+msgstr "Por Duración de Región"
-#: editor_actions.cc:334
+#: gtk2_ardour/editor_actions.cc:762
msgid "By Region Position"
-msgstr "Por Posicin de regin"
+msgstr "Por Posición de Región"
-#: editor_actions.cc:336
+#: gtk2_ardour/editor_actions.cc:764
msgid "By Region Timestamp"
-msgstr "Por fecha de Regin"
+msgstr "Por Marca Temporal de Región"
-#: editor_actions.cc:338
+#: gtk2_ardour/editor_actions.cc:766
msgid "By Region Start in File"
-msgstr "Por inicio de regin en archivo"
+msgstr "Por inicio de región en archivo"
-#: editor_actions.cc:340
+#: gtk2_ardour/editor_actions.cc:768
msgid "By Region End in File"
-msgstr "Por fin de regin en archivo"
+msgstr "Por fin de región en archivo"
-#: editor_actions.cc:342
+#: gtk2_ardour/editor_actions.cc:770
msgid "By Source File Name"
msgstr "Por nombre de archivo"
-#: editor_actions.cc:344
+#: gtk2_ardour/editor_actions.cc:772
msgid "By Source File Length"
-msgstr "Por tamao de archivo"
+msgstr "Por duración de archivo"
-#: editor_actions.cc:346
+#: gtk2_ardour/editor_actions.cc:774
msgid "By Source File Creation Date"
-msgstr "Por fecha de creacin"
+msgstr "Por fecha de creación"
-#: editor_actions.cc:348
+#: gtk2_ardour/editor_actions.cc:776
msgid "By Source Filesystem"
msgstr "Por sistema de archivos"
-#. the next two are duplicate items with different names for use in two different contexts
-#: editor_actions.cc:354
-#, fuzzy
-msgid "Add External Audio"
-msgstr "Agregar a lista externa de regiones"
-
-#: editor_actions.cc:356
-#, fuzzy
-msgid "as Region(s)"
-msgstr "normalizar regiones"
-
-#: editor_actions.cc:358
-#, fuzzy
-msgid "as Tracks"
-msgstr "Pistas"
+#: gtk2_ardour/editor_actions.cc:782
+msgid "Import"
+msgstr "Importar"
-#: editor_actions.cc:360
-#, fuzzy
-msgid "to Tracks"
-msgstr "Pistas"
+#: gtk2_ardour/editor_actions.cc:784
+msgid "Import to Region List"
+msgstr "Importar a la Lista de Regiones"
-#: editor_actions.cc:363
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:787
msgid "Show Waveforms"
-msgstr "Mostrar onda de audio"
+msgstr "Mostrar formas de onda"
-#: editor_actions.cc:364
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:790
msgid "Show Waveforms While Recording"
-msgstr "Mostrar onda de audio"
+msgstr "Mostrar forma de onda al grabar"
-#: editor_actions.cc:365
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:791
msgid "Show Measures"
-msgstr "Mostrar l�eas de medida"
+msgstr "Mostrar líneas de Compases"
-#: editor_actions.cc:378 editor_actions.cc:385
-msgid "Medium"
-msgstr ""
+#: gtk2_ardour/editor_actions.cc:802
+msgid "Show Logo"
+msgstr "Mostrar logo"
-#: editor_actions.cc:380
-#, fuzzy
-msgid "Faster"
-msgstr "Fades"
-
-#: editor_actions.cc:386
-msgid "Long"
-msgstr ""
-
-#: editor_actions.cc:390
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:808
msgid "Later is Higher"
-msgstr "Bajar regin una capa"
+msgstr "Región posterior encima"
-#: editor_actions.cc:391
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:809
msgid "Most Recently Moved/Added is Higher"
-msgstr "Bajar regin una capa"
+msgstr "Región movida/agregada más recientemente encima"
-#: editor_actions.cc:392
-#, fuzzy
+#: gtk2_ardour/editor_actions.cc:810
msgid "Most Recently Added is Higher"
-msgstr "Bajar regin una capa"
-
-#: editor_audio_import.cc:72
-#, fuzzy
+msgstr "Región agregada más recientemente encima"
+
+#: gtk2_ardour/editor_actions.cc:814
+msgid "23.976"
+msgstr "23,976"
+
+#: gtk2_ardour/editor_actions.cc:815
+msgid "24"
+msgstr "24"
+
+#: gtk2_ardour/editor_actions.cc:816
+msgid "24.976"
+msgstr "24,976"
+
+#: gtk2_ardour/editor_actions.cc:817
+msgid "25"
+msgstr "25"
+
+#: gtk2_ardour/editor_actions.cc:818
+msgid "29.97"
+msgstr "29,97"
+
+#: gtk2_ardour/editor_actions.cc:819
+msgid "29.97 drop"
+msgstr "29,97 drop"
+
+#: gtk2_ardour/editor_actions.cc:820
+msgid "30"
+msgstr "30"
+
+# sugeriría mantener el término "drop"
+#: gtk2_ardour/editor_actions.cc:821
+msgid "30 drop"
+msgstr "30 drop"
+
+#: gtk2_ardour/editor_actions.cc:822
+msgid "59.94"
+msgstr "59,94"
+
+#: gtk2_ardour/editor_actions.cc:823
+msgid "60"
+msgstr "60"
+
+#: gtk2_ardour/editor_actions.cc:827
+msgid "+4.1667% + 0.1%"
+msgstr "+4,1667% + 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:828
+msgid "+4.1667%"
+msgstr "+4,1667%"
+
+#: gtk2_ardour/editor_actions.cc:829
+msgid "+4.1667% - 0.1%"
+msgstr "+4,1667% - 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:830
+msgid "+ 0.1%"
+msgstr "+ 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:831
+#: gtk2_ardour/engine_dialog.cc:101
+#: gtk2_ardour/engine_dialog.cc:106
+#: gtk2_ardour/engine_dialog.cc:510
+#: gtk2_ardour/export_dialog.cc:79
+#: gtk2_ardour/export_dialog.cc:93
+#: gtk2_ardour/export_dialog.cc:988
+#: gtk2_ardour/export_dialog.cc:1335
+#: gtk2_ardour/route_ui.cc:654
+msgid "None"
+msgstr "Ninguno"
+
+#: gtk2_ardour/editor_actions.cc:832
+msgid "- 0.1%"
+msgstr "- 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:833
+msgid "-4.1667% + 0.1%"
+msgstr "-4,1667% + 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:834
+msgid "-4.1667%"
+msgstr "-4,1667%"
+
+#: gtk2_ardour/editor_actions.cc:835
+msgid "-4.1667% - 0.1%"
+msgstr "-4,1667% - 0,1%"
+
+#: gtk2_ardour/editor_actions.cc:839
+msgid "80 per frame"
+msgstr "80 por cuadro"
+
+#: gtk2_ardour/editor_actions.cc:841
+msgid "100 per frame"
+msgstr "100 por cuadro"
+
+#: gtk2_ardour/editor_actions.cc:1235
+#: gtk2_ardour/editor_actions.cc:1344
+#: gtk2_ardour/editor_actions.cc:1355
+#: gtk2_ardour/editor_actions.cc:1408
+#: gtk2_ardour/editor_actions.cc:1419
+#: gtk2_ardour/editor_actions.cc:1466
+#: gtk2_ardour/editor_actions.cc:1476
+msgid "programming error: %1: %2"
+msgstr "error de programación: %1: %2"
+
+#: gtk2_ardour/editor_actions.cc:1637
+msgid "Configuraton is using unhandled subframes per frame value: %1"
+msgstr ""
+
+#: gtk2_ardour/editor_actions.cc:1669
+#: gtk2_ardour/route_time_axis.cc:546
+#: gtk2_ardour/route_time_axis.cc:601
+#: gtk2_ardour/route_time_axis.cc:859
+msgid "programming error: %1 %2"
+msgstr "error de programación: %1 %2"
+
+#: gtk2_ardour/editor_audio_import.cc:74
+#: gtk2_ardour/editor_audio_import.cc:95
msgid "You can't import or embed an audiofile until you have a session loaded."
-msgstr "No puede importar un archivo a menos que abra o cree una sesin"
+msgstr "No puede importar o embeber un archivo a menos que abra o cree una sesión."
+
+#: gtk2_ardour/editor_audio_import.cc:80
+#: gtk2_ardour/editor_audio_import.cc:113
+msgid "Add existing audio"
+msgstr "Agregar audio existente"
-#: editor_audio_import.cc:77
-#, fuzzy
-msgid "Add existing audio to session"
-msgstr "Mostrar toda automatizacin"
+#: gtk2_ardour/editor_audio_import.cc:225
+msgid "The session already contains a source file named %1. This file will be imported as a new file, please confirm."
+msgstr "La sesión ya contiene un archivo llamado %1. Este archivo será importado como un nuevo archivo. Por favor, confirme la operación."
-#: editor_audio_import.cc:142
-#, fuzzy
-msgid "ardour: importing %1"
-msgstr "ardour: exportar"
+#: gtk2_ardour/editor_audio_import.cc:227
+msgid "A source file %1 already exists. This operation will not update that source but import the file %2 as a new source, please confirm."
+msgstr "Ya existe un archivo llamado %1. Esta operación no actualizará ese archivo, sino que importará el archivo %2 como nuevo. Por favor, confirme la operación."
-#: editor_audio_import.cc:146
+#: gtk2_ardour/editor_audio_import.cc:451
+msgid "importing %1"
+msgstr "importando %1"
+
+#: gtk2_ardour/editor_audio_import.cc:456
msgid "Cancel Import"
-msgstr "Cancelar importacin"
+msgstr "Cancelar Importación"
-#: editor_audio_import.cc:224
-#, fuzzy
+#: gtk2_ardour/editor_audio_import.cc:571
msgid "Editor: cannot open file \"%1\", (%2)"
-msgstr "Editor: no se pudo abrir el archivo \"%1\" (%2)"
+msgstr "Editor: no se pudo abrir el archivo \"%1\", (%2)"
-#: editor_audio_import.cc:232
-#, fuzzy
+#: gtk2_ardour/editor_audio_import.cc:579
msgid "Cancel entire import"
-msgstr "Cancelar importacin"
+msgstr "Cancelar importación completa"
-#: editor_audio_import.cc:233
-#, fuzzy
+#: gtk2_ardour/editor_audio_import.cc:580
msgid "Don't embed it"
-msgstr "No %1"
+msgstr "No embeber"
-#: editor_audio_import.cc:234
+#: gtk2_ardour/editor_audio_import.cc:581
msgid "Embed all without questions"
-msgstr ""
+msgstr "Embeber todos sin preguntas"
-#: editor_audio_import.cc:239
-#, fuzzy
-msgid "Embed it anyway"
-msgstr "Linquear de todas formas"
-
-#: editor_audio_import.cc:242
-#, fuzzy
+#: gtk2_ardour/editor_audio_import.cc:584
+#: gtk2_ardour/editor_audio_import.cc:611
msgid ""
"%1\n"
"This audiofile's sample rate doesn't match the session sample rate!"
-msgstr "La frecuencia de muestreo de este archivo difiere de la de la sesin!"
+msgstr ""
+"%1\n"
+"¡La frecuencia de muestreo de este archivo difiere de la de la sesión!"
-#: editor_audio_import.cc:275
+#: gtk2_ardour/editor_audio_import.cc:608
+msgid "Embed it anyway"
+msgstr "Embeber de todas formas"
+
+#: gtk2_ardour/editor_audio_import.cc:654
msgid "could not open %1"
msgstr "no se pudo abrir %1"
-#: editor_audio_import.cc:320
-#, fuzzy
+#: gtk2_ardour/editor_audio_import.cc:784
msgid "insert sndfile"
msgstr "Insertar archivo de audio externo"
-#. stuff for the verbose canvas cursor
-#: editor_canvas.cc:118
+#: gtk2_ardour/editor_canvas.cc:114
msgid "VerboseCanvasCursor"
msgstr ""
-#: editor_edit_groups.cc:53 mixer_ui.cc:736
-#, fuzzy
+#: gtk2_ardour/editor_edit_groups.cc:52
+#: gtk2_ardour/mixer_ui.cc:987
msgid "Activate All"
-msgstr "Activar"
+msgstr "Activar Todos"
-#: editor_edit_groups.cc:54 mixer_ui.cc:737
-#, fuzzy
+#: gtk2_ardour/editor_edit_groups.cc:53
+#: gtk2_ardour/mixer_ui.cc:988
msgid "Disable All"
-msgstr "Desconectar"
+msgstr "Desactivar Todos"
-#: editor_edit_groups.cc:56 mixer_ui.cc:739
-#, fuzzy
+#: gtk2_ardour/editor_edit_groups.cc:55
+#: gtk2_ardour/mixer_ui.cc:990
msgid "Add group"
-msgstr "Sin grupo"
+msgstr "Agregar grupo"
-#: editor_edit_groups.cc:229 mixer_ui.cc:970
-#, fuzzy
+#: gtk2_ardour/editor_edit_groups.cc:237
+#: gtk2_ardour/mixer_ui.cc:1241
msgid "unnamed"
-msgstr "Renombrar"
+msgstr "sin nombre"
-#: editor_edit_groups.cc:258 mixer_ui.cc:834
+#: gtk2_ardour/editor_edit_groups.cc:266
+#: gtk2_ardour/mixer_ui.cc:1094
msgid "-all-"
msgstr "-todo-"
-#: editor_export_audio.cc:65
+#: gtk2_ardour/editor_export_audio.cc:66
msgid ""
"There is no selection to export.\n"
"\n"
"Select a selection using the range mouse mode"
msgstr ""
+"No hay ninguna selección para exportar.\n"
+"\n"
+"Cree una selección usando la herramienta de rango."
-#: editor_export_audio.cc:110
+#: gtk2_ardour/editor_export_audio.cc:109
msgid ""
"There are no ranges to export.\n"
"\n"
"Create 1 or more ranges by dragging the mouse in the range bar"
msgstr ""
+"No hay rangos para exportar.\n"
+"\n"
+"Crear un rango o más por dragar el control al bar de la rango"
-#: editor_imageframe.cc:625 editor_imageframe.cc:655
+#: gtk2_ardour/editor_imageframe.cc:624
+#: gtk2_ardour/editor_imageframe.cc:654
msgid "programming error: no ImageFrameView selected"
msgstr ""
-#: editor_imageframe.cc:848 editor_imageframe.cc:870
+#: gtk2_ardour/editor_imageframe.cc:847
+#: gtk2_ardour/editor_imageframe.cc:869
msgid "programming error: no MarkerView selected"
msgstr ""
-#: editor_keyboard.cc:104
-#, fuzzy
+#: gtk2_ardour/editor_keyboard.cc:82
msgid "mute region"
-msgstr "enmudecer a esta regin"
-
-#: editor_keys.cc:46
-#, fuzzy
-msgid "keyboard selection"
-msgstr "Separar Seleccin"
-
-#: editor_markers.cc:292 editor_ops.cc:1290 editor_ops.cc:1303
-#: editor_ops.cc:1321 location_ui.cc:774
+msgstr "enmudecer región"
+
+#: gtk2_ardour/editor_markers.cc:411
+#: gtk2_ardour/editor_ops.cc:1959
+#: gtk2_ardour/editor_ops.cc:1979
+#: gtk2_ardour/editor_ops.cc:2004
+#: gtk2_ardour/editor_ops.cc:2034
+#: gtk2_ardour/location_ui.cc:851
msgid "add marker"
-msgstr "agregar marcador"
-
-#: editor_markers.cc:307 editor_markers.cc:380 editor_markers.cc:552
-#: editor_markers.cc:570 editor_markers.cc:589 editor_markers.cc:608
-#: editor_markers.cc:638 editor_markers.cc:666 editor_markers.cc:694
-#: editor_markers.cc:732 editor_markers.cc:759 editor_markers.cc:782
-#: editor_markers.cc:801 editor_mouse.cc:2015 editor_mouse.cc:4275
+msgstr "agregar marca"
+
+#: gtk2_ardour/editor_markers.cc:435
+#: gtk2_ardour/editor_markers.cc:503
+#: gtk2_ardour/editor_markers.cc:694
+#: gtk2_ardour/editor_markers.cc:712
+#: gtk2_ardour/editor_markers.cc:730
+#: gtk2_ardour/editor_markers.cc:749
+#: gtk2_ardour/editor_markers.cc:768
+#: gtk2_ardour/editor_markers.cc:798
+#: gtk2_ardour/editor_markers.cc:826
+#: gtk2_ardour/editor_markers.cc:849
+#: gtk2_ardour/editor_markers.cc:877
+#: gtk2_ardour/editor_markers.cc:905
+#: gtk2_ardour/editor_markers.cc:943
+#: gtk2_ardour/editor_markers.cc:968
+#: gtk2_ardour/editor_markers.cc:995
+#: gtk2_ardour/editor_markers.cc:1018
+#: gtk2_ardour/editor_markers.cc:1038
+#: gtk2_ardour/editor_markers.cc:1062
+#: gtk2_ardour/editor_mouse.cc:2390
+#: gtk2_ardour/editor_mouse.cc:5095
msgid "programming error: marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_markers.cc:331 location_ui.cc:656
+#: gtk2_ardour/editor_markers.cc:453
+#: gtk2_ardour/location_ui.cc:720
msgid "remove marker"
-msgstr "quitar marcador"
+msgstr "quitar marca"
-#: editor_markers.cc:458
-#, fuzzy
-msgid "Locate to Mark"
-msgstr "Localizar a"
+#: gtk2_ardour/editor_markers.cc:594
+msgid "Locate to here"
+msgstr "Localizar a aquí "
-#: editor_markers.cc:459
-#, fuzzy
-msgid "Play from Mark"
-msgstr "Reproducir desde el principio"
+#: gtk2_ardour/editor_markers.cc:595
+msgid "Play from here"
+msgstr "Reproducir desde aquí"
-#: editor_markers.cc:460
-#, fuzzy
-msgid "Set Mark from Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+#: gtk2_ardour/editor_markers.cc:596
+msgid "Move Mark to Playhead"
+msgstr "Mover Marca hasta Cursor"
-#: editor_markers.cc:464
-#, fuzzy
-msgid "Rename Mark"
-msgstr "Renombrar"
+#: gtk2_ardour/editor_markers.cc:600
+msgid "Create range to next marker"
+msgstr "Crear Rango hasta Marca siguiente"
-#: editor_markers.cc:465
-#, fuzzy
-msgid "Hide Mark"
-msgstr "Ocultar esta pista"
+#: gtk2_ardour/editor_markers.cc:606
+msgid "Unlock"
+msgstr "Desbloquear"
-#: editor_markers.cc:466
-#, fuzzy
-msgid "Remove Mark"
-msgstr "quitar marcador"
+#: gtk2_ardour/editor_markers.cc:628
+msgid "Play Range"
+msgstr "Reproducir Rango"
-#: editor_markers.cc:479 editor_markers.cc:535
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:629
msgid "Locate to Range Mark"
-msgstr "Marcadores de localizacin"
+msgstr "Ir a Marca de Rango"
-#: editor_markers.cc:480 editor_markers.cc:536
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:630
msgid "Play from Range Mark"
-msgstr "Reproducir el intervalo cont�uamente"
+msgstr "Reproducir desde Marca de Rango"
-#: editor_markers.cc:481
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:632
msgid "Loop Range"
-msgstr "rango de reproduccin cont�ua"
+msgstr "Reproducir Rango continuamente"
-#: editor_markers.cc:482 editor_markers.cc:537
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:634
msgid "Set Range Mark from Playhead"
-msgstr "Ubicar desde barra de reproduccin"
+msgstr "Fijar Marca de Rango en Cursor"
-#: editor_markers.cc:483 editor_markers.cc:538
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:636
msgid "Set Range from Range Selection"
-msgstr "Reproducir seleccin"
+msgstr "Definir Rango según Selección de Rango"
-#: editor_markers.cc:487
-#, fuzzy
-msgid "Rename Range"
-msgstr "Renombrar"
-
-#: editor_markers.cc:488 editor_markers.cc:540
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:646
msgid "Hide Range"
-msgstr "Agregar nueva regin"
+msgstr "Ocultar Rango"
+
+#: gtk2_ardour/editor_markers.cc:647
+#: gtk2_ardour/editor_markers.cc:1082
+msgid "Rename Range"
+msgstr "Renombrar Rango"
-#: editor_markers.cc:489
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:648
msgid "Remove Range"
-msgstr "Quitar Campo"
+msgstr "Eliminar Rango"
-#: editor_markers.cc:493 editor_markers.cc:542
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:653
msgid "Separate Regions in Range"
-msgstr "Nueva region a partir de seleccin"
+msgstr "Separar Regiones en Rango"
-#: editor_markers.cc:494 editor_markers.cc:543
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:654
msgid "Select All in Range"
-msgstr "Seleccionar todo dentro de pista"
+msgstr "Seleccionar Todo en Rango"
+
+#: gtk2_ardour/editor_markers.cc:656
+msgid "Select Range"
+msgstr "Seleccionar Rango"
-#: editor_markers.cc:520
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:682
msgid "Set Loop Range"
-msgstr "selecionar intervalo de reproduccin cont�ua"
+msgstr "Crear Rango de Bucle"
-#: editor_markers.cc:521
+# rango de pinchado? ok?
+#: gtk2_ardour/editor_markers.cc:683
msgid "Set Punch Range"
-msgstr "Seleccionar intervalo de punch"
+msgstr "Crear Rango de Pinchado"
-#: editor_markers.cc:815
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:1076
+#: gtk2_ardour/editor_ops.cc:1911
msgid "New Name:"
-msgstr "nuevo nombre: "
-
-#: editor_markers.cc:818
-msgid "ardour: rename mark"
-msgstr "ardour: renombrar marca"
+msgstr "Nuevo nombre: "
-#: editor_markers.cc:820
-#, fuzzy
-msgid "ardour: rename range"
-msgstr "ardour: renombrar regin"
+#: gtk2_ardour/editor_markers.cc:1080
+msgid "Rename Mark"
+msgstr "renombrar Marca"
-#: editor_markers.cc:840
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:1104
msgid "rename marker"
-msgstr "quitar marcador"
+msgstr "renombrar Marca"
-#: editor_markers.cc:865
-#, fuzzy
+#: gtk2_ardour/editor_markers.cc:1126
msgid "set loop range"
-msgstr "seleccionar rango de zoom"
+msgstr "crear Rango de Bucle"
-#: editor_markers.cc:891
-#, fuzzy
+# rango de pinchado? ok?
+#: gtk2_ardour/editor_markers.cc:1132
msgid "set punch range"
-msgstr "Seleccionar intervalo actual"
+msgstr "crear rango de pinchado"
-#: editor_mouse.cc:103
+#: gtk2_ardour/editor_mouse.cc:147
msgid "Editor::event_frame() used on unhandled event type %1"
msgstr ""
-#: editor_mouse.cc:313
-#, fuzzy
-msgid "select on click"
-msgstr "Usar como metrnomo"
-
-#: editor_mouse.cc:1590
+#: gtk2_ardour/editor_mouse.cc:1896
msgid "programming error: start_grab called without drag item"
msgstr ""
-#: editor_mouse.cc:1814
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2096
msgid "change fade in length"
-msgstr "editar fade in"
+msgstr "cambiar duración del fundido de entrada"
-#: editor_mouse.cc:1832
+#: gtk2_ardour/editor_mouse.cc:2129
msgid "programming error: fade out canvas item has no regionview data pointer!"
msgstr ""
-#: editor_mouse.cc:1906
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2213
msgid "change fade out length"
-msgstr "agregar salida"
+msgstr "cambiar duración del fundido de salida"
-#: editor_mouse.cc:1925
+#: gtk2_ardour/editor_mouse.cc:2246
+#: gtk2_ardour/editor_mouse.cc:2279
msgid "programming error: cursor canvas item has no cursor data pointer!"
msgstr ""
-#: editor_mouse.cc:2142
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2675
msgid "move marker"
-msgstr "quitar marcador"
+msgstr "mover marca"
-#: editor_mouse.cc:2165 editor_mouse.cc:2196 editor_tempodisplay.cc:459
-msgid ""
-"programming error: meter marker canvas item has no marker object pointer!"
+#: gtk2_ardour/editor_mouse.cc:2717
+#: gtk2_ardour/editor_mouse.cc:2749
+#: gtk2_ardour/editor_tempodisplay.cc:432
+msgid "programming error: meter marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_mouse.cc:2264
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2817
msgid "copy meter mark"
-msgstr "quitar marcador"
+msgstr "copiar marca de compás"
-#: editor_mouse.cc:2274
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2828
msgid "move meter mark"
-msgstr "quitar marcador"
+msgstr "mover marca de compás"
-#: editor_mouse.cc:2289 editor_mouse.cc:2322 editor_tempodisplay.cc:331
-#: editor_tempodisplay.cc:409 editor_tempodisplay.cc:428
-msgid ""
-"programming error: tempo marker canvas item has no marker object pointer!"
+#: gtk2_ardour/editor_mouse.cc:2844
+#: gtk2_ardour/editor_mouse.cc:2878
+#: gtk2_ardour/editor_tempodisplay.cc:296
+#: gtk2_ardour/editor_tempodisplay.cc:381
+#: gtk2_ardour/editor_tempodisplay.cc:400
+msgid "programming error: tempo marker canvas item has no marker object pointer!"
msgstr ""
-#: editor_mouse.cc:2294 editor_mouse.cc:2327 editor_tempodisplay.cc:336
-#: editor_tempodisplay.cc:414
+#: gtk2_ardour/editor_mouse.cc:2849
+#: gtk2_ardour/editor_mouse.cc:2883
+#: gtk2_ardour/editor_tempodisplay.cc:301
+#: gtk2_ardour/editor_tempodisplay.cc:386
msgid "programming error: marker for tempo is not a tempo marker!"
msgstr ""
-#: editor_mouse.cc:2394
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2950
msgid "copy tempo mark"
-msgstr "quitar marcador"
+msgstr "copiar marca de tempo"
-#: editor_mouse.cc:2404
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:2961
msgid "move tempo mark"
-msgstr "quitar marcador"
+msgstr "mover marca de tempo"
-#: editor_mouse.cc:2418 editor_mouse.cc:2437 editor_mouse.cc:2450
-msgid ""
-"programming error: control point canvas item has no control point object "
-"pointer!"
+#: gtk2_ardour/editor_mouse.cc:2976
+#: gtk2_ardour/editor_mouse.cc:2995
+#: gtk2_ardour/editor_mouse.cc:3008
+msgid "programming error: control point canvas item has no control point object pointer!"
msgstr ""
-#: editor_mouse.cc:2555
+#: gtk2_ardour/editor_mouse.cc:3143
msgid "programming error: line canvas item has no line pointer!"
msgstr ""
-#: editor_mouse.cc:2664
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:3274
msgid "move region(s)"
-msgstr "invertir regiones"
+msgstr "mover región(es)"
-#: editor_mouse.cc:2727
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:3346
msgid "Drag region brush"
-msgstr "normalizar regiones"
+msgstr ""
+
+#: gtk2_ardour/editor_mouse.cc:3994
+msgid "fixed time region copy"
+msgstr "copiar región manteniendo posición en el tiempo"
-#. don't copy again
-#. this is committed in the grab finished callback.
-#: editor_mouse.cc:2751
-msgid "Drag region copy"
+# estimo que es para el undo history
+#: gtk2_ardour/editor_mouse.cc:3996
+msgid "region copy"
+msgstr "copiar región"
+
+#: gtk2_ardour/editor_mouse.cc:4000
+msgid "fixed time region drag"
msgstr ""
-#. A selection grab currently creates two undo/redo operations, one for
-#. creating the new region and another for moving it.
-#.
-#: editor_mouse.cc:3609
-#, fuzzy
-msgid "selection grab"
-msgstr "Seleccin"
+#: gtk2_ardour/editor_mouse.cc:4002
+msgid "region drag"
+msgstr "mover región"
-#: editor_mouse.cc:3650
-#, fuzzy
-msgid "cancel selection"
-msgstr "Reproducir seleccin"
+#: gtk2_ardour/editor_mouse.cc:4415
+msgid "selection grab"
+msgstr ""
-#: editor_mouse.cc:3760
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:4566
msgid "range selection"
-msgstr "Reproducir seleccin"
+msgstr "selección de rango"
-#: editor_mouse.cc:3776
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:4582
msgid "trim selection start"
-msgstr "Desde locacin"
+msgstr "recortar inicio de la selección"
-#: editor_mouse.cc:3792
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:4598
msgid "trim selection end"
-msgstr "Desde locacin"
+msgstr "recortar final de la selección"
-#: editor_mouse.cc:3809
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:4615
msgid "move selection"
-msgstr "Grabar seleccin"
+msgstr "mover la selección"
-#: editor_mouse.cc:4195
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:5004
msgid "Start point trim"
-msgstr "Desde principio hasta cursor de edicin"
+msgstr "Recortar inicio"
-#: editor_mouse.cc:4223
+#: gtk2_ardour/editor_mouse.cc:5036
msgid "End point trim"
-msgstr ""
+msgstr "Recortar final"
-#: editor_mouse.cc:4262
+#: gtk2_ardour/editor_mouse.cc:5079
msgid "trimmed region"
-msgstr "regin acortada"
+msgstr "región acortada"
-#: editor_mouse.cc:4400
-#, fuzzy
+#: gtk2_ardour/editor_mouse.cc:5242
msgid "new range marker"
-msgstr "agregar un marcador de regin"
+msgstr "Marca de Rango nueva"
-#: editor_mouse.cc:4642
-#, fuzzy
-msgid "select regions"
-msgstr "Reproducir regin seleccionada cont�uamente"
+#: gtk2_ardour/editor_mouse.cc:5490
+msgid "rubberband selection"
+msgstr "selección elástica"
-#: editor_mouse.cc:4671
+#: gtk2_ardour/editor_mouse.cc:5522
msgid "Name for region:"
-msgstr "Nombre para regin:"
+msgstr "Nombre para Región:"
-#: editor_mouse.cc:4735
+#: gtk2_ardour/editor_mouse.cc:5595
msgid "timestretch"
-msgstr ""
+msgstr "estirar tiempo"
-#: editor_ops.cc:195
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:126
msgid "split"
-msgstr "Separar"
+msgstr "separar"
-#: editor_ops.cc:231
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:191
+#: gtk2_ardour/editor_ops.cc:214
msgid "remove region"
-msgstr "invertir regiones"
+msgstr "eliminar región"
-#: editor_ops.cc:250
-msgid ""
-" This is destructive, will possibly delete audio files\n"
-"It cannot be undone\n"
-"Do you really want to destroy %1 ?"
-msgstr ""
-
-#: editor_ops.cc:254
-#, fuzzy
-msgid "these regions"
-msgstr "invertir regiones"
-
-#: editor_ops.cc:254
-#, fuzzy
-msgid "this region"
-msgstr "enmudecer a esta regin"
-
-#: editor_ops.cc:256 editor_ops.cc:3318 route_ui.cc:707
-#: visual_time_axis.cc:278
-#, fuzzy
-msgid "No, do nothing."
-msgstr "No, no hacer nada."
+#: gtk2_ardour/editor_ops.cc:312
+#: gtk2_ardour/editor_ops.cc:340
+msgid "extend selection"
+msgstr "ampliar la selección"
-#: editor_ops.cc:259
-#, fuzzy
-msgid "Yes, destroy them."
-msgstr "Si, eliminar."
+#: gtk2_ardour/editor_ops.cc:381
+msgid "nudge regions forward"
+msgstr "mover regiones hacia adelante"
-#: editor_ops.cc:261 editor_ops.cc:3319
-#, fuzzy
-msgid "Yes, destroy it."
-msgstr "Si, eliminar."
+#: gtk2_ardour/editor_ops.cc:405
+#: gtk2_ardour/editor_ops.cc:490
+msgid "nudge location forward"
+msgstr "mover localización hacia adelante"
-#: editor_ops.cc:352 editor_ops.cc:380
-#, fuzzy
-msgid "extend selection"
-msgstr "Separar Seleccin"
+#: gtk2_ardour/editor_ops.cc:462
+msgid "nudge regions backward"
+msgstr "mover regiones hacia atrás"
-#: editor_ops.cc:396 editor_ops.cc:430 editor_ops.cc:474 editor_ops.cc:500
+#: gtk2_ardour/editor_ops.cc:555
+#: gtk2_ardour/editor_ops.cc:585
msgid "nudge forward"
-msgstr ""
+msgstr "mover hacia adelante"
-#: editor_ops.cc:564
+#: gtk2_ardour/editor_ops.cc:652
msgid "build_region_boundary_cache called with snap_type = %1"
msgstr ""
-#: editor_ops.cc:1420
-#, fuzzy
-msgid "select all within"
-msgstr "Seleccionar todo"
-
-#: editor_ops.cc:1452
-#, fuzzy
-msgid "set selection from region"
-msgstr "Nueva region a partir de seleccin"
-
-#: editor_ops.cc:1485
-#, fuzzy
-msgid "set selection from range"
-msgstr "Nueva region a partir de seleccin"
-
-#: editor_ops.cc:1515
-#, fuzzy
-msgid "select all from range"
-msgstr "seleccionar rango de zoom"
-
-#: editor_ops.cc:1537
-#, fuzzy
-msgid "select all from punch"
-msgstr "Seleccionar todo"
-
-#: editor_ops.cc:1559
-#, fuzzy
-msgid "select all from loop"
-msgstr "Seleccionar todo"
-
-#: editor_ops.cc:1573
-#, fuzzy
-msgid "select all after cursor"
-msgstr "Desde principio hasta cursor de edicin"
-
-#: editor_ops.cc:1578
-#, fuzzy
-msgid "select all before cursor"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor_ops.cc:1914
+msgid "Name New Location Marker"
+msgstr "Nombrar Marcas Nuevas"
-#: editor_ops.cc:1608
-#, fuzzy
-msgid "select all between cursors"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor_ops.cc:2004
+msgid "add markers"
+msgstr "agregar marcas"
-#: editor_ops.cc:1739
+#: gtk2_ardour/editor_ops.cc:2178
msgid "clear markers"
-msgstr "borrar marcadores"
+msgstr "borrar marcas"
-#: editor_ops.cc:1751
+#: gtk2_ardour/editor_ops.cc:2191
msgid "clear ranges"
-msgstr "borrar intervalos"
+msgstr "borrar Rangos"
-#: editor_ops.cc:1770
+#: gtk2_ardour/editor_ops.cc:2211
msgid "clear locations"
msgstr "borrar localizaciones"
-#: editor_ops.cc:1820
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:2284
msgid "insert dragged region"
-msgstr "Insertar Regin"
+msgstr "inserte la región arrastrada"
-#: editor_ops.cc:1856
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:2331
msgid "insert region"
-msgstr "Insertar Regin"
+msgstr "insertar Región"
-#: editor_ops.cc:2047 io_selector.cc:58 io_selector.cc:792
-msgid "OK"
-msgstr "OK"
+#: gtk2_ardour/editor_ops.cc:2555
+msgid "Rename Region"
+msgstr "Renombrar región"
-#: editor_ops.cc:2054
-msgid "ardour: rename region"
-msgstr "ardour: renombrar regin"
+#: gtk2_ardour/editor_ops.cc:2559
+msgid "New name:"
+msgstr "Nuevo nombre: "
-#: editor_ops.cc:2277 editor_ops.cc:2326
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:2897
msgid "separate"
-msgstr "Separar Regin"
+msgstr "separar"
-#: editor_ops.cc:2388
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3045
msgid "trim to selection"
-msgstr "Desde locacin"
+msgstr "recortar según selección"
-#: editor_ops.cc:2428
+#: gtk2_ardour/editor_ops.cc:3093
msgid "region fill"
-msgstr ""
+msgstr "relleno de región"
-#: editor_ops.cc:2487
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3157
msgid "fill selection"
-msgstr "Reproducir seleccin cont�uamente"
-
-#: editor_ops.cc:2508
-msgid "Programming error. that region doesn't cover that position"
-msgstr ""
-
-#: editor_ops.cc:2511
-#, fuzzy
-msgid "set region sync position"
-msgstr "Regiones/posicin"
-
-#: editor_ops.cc:2526
-msgid "Place the edit cursor at the desired sync point"
-msgstr "Coloque el cursor de edicin en el punto de sincron� deseado"
+msgstr "rellenar selección"
-#: editor_ops.cc:2531
-#, fuzzy
-msgid "set sync from edit cursor"
-msgstr "Reproducir desde el cursor"
+#: gtk2_ardour/editor_ops.cc:3196
+msgid "set sync point"
+msgstr "definir punto de sincronía"
-#: editor_ops.cc:2543
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3222
msgid "remove sync"
-msgstr "Remover punto de sincron�"
+msgstr "eliminar punto de sincronía"
-#: editor_ops.cc:2557
-#, fuzzy
+# qué es naturalize?
+#: gtk2_ardour/editor_ops.cc:3244
msgid "naturalize"
-msgstr "Normalizar"
+msgstr ""
-#: editor_ops.cc:2621
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3344
msgid "align selection (relative)"
-msgstr "Alinear relativamente"
+msgstr "alinear selección (relativo)"
-#: editor_ops.cc:2649
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3384
msgid "align selection"
-msgstr "Grabar seleccin"
+msgstr "alinear selección"
-#: editor_ops.cc:2661
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3396
msgid "align region"
-msgstr "normalizar regiones"
+msgstr "alinear región"
+
+#: gtk2_ardour/editor_ops.cc:3433
+msgid "trim to loop"
+msgstr "recortar según Bucle"
+
+#: gtk2_ardour/editor_ops.cc:3443
+msgid "trim to punch"
+msgstr "recortar según rango de pinchado"
-#: editor_ops.cc:2708 editor_ops.cc:2733
-#, fuzzy
-msgid "trim to edit"
-msgstr "Desde principio hasta cursor de edicin"
+#: gtk2_ardour/editor_ops.cc:3506
+msgid "trim region start to edit point"
+msgstr "recortar Inicio de Región hasta Punto de Edición"
-#: editor_ops.cc:2784
-#, fuzzy
-msgid "ardour: freeze"
-msgstr "ardour: renombrar regin"
+#: gtk2_ardour/editor_ops.cc:3551
+msgid "trim region end to edit point"
+msgstr "recortar Final de Región hasta Punto de Edición"
-#: editor_ops.cc:2789
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3638
msgid "Cancel Freeze"
-msgstr "Cancelar"
+msgstr "Cancelar Congelado"
-#: editor_ops.cc:2826
-#, fuzzy
+# ¿cómo traducir 'bounce'?
+# lo he visto en otros softwares como 'rebotar' pero ¿realmente se utiliza ese término en el español?
+#: gtk2_ardour/editor_ops.cc:3681
msgid "bounce range"
-msgstr "intervalo"
+msgstr ""
-#: editor_ops.cc:2879
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3741
msgid "cut"
msgstr "cortar"
-#: editor_ops.cc:2882
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3744
msgid "copy"
msgstr "copiar"
-#: editor_ops.cc:2895
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3794
msgid " objects"
msgstr "objetos"
-#: editor_ops.cc:2921
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:3830
msgid " range"
-msgstr "intervalo"
+msgstr "rango"
-#: editor_ops.cc:3078
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4069
msgid "paste"
-msgstr "Pegar"
+msgstr "pegar"
-#: editor_ops.cc:3116
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4118
msgid "paste chunk"
-msgstr "Crear trecho"
+msgstr "pegar fragmento"
-#. clear (below) will clear the argument list
-#: editor_ops.cc:3157
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4162
msgid "duplicate region"
-msgstr "Reproducir regin seleccionada cont�uamente"
+msgstr "duplicar región"
-#: editor_ops.cc:3202
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4210
msgid "duplicate selection"
-msgstr "Grabar seleccin"
+msgstr "duplicar selección"
-#: editor_ops.cc:3259
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4264
msgid "clear playlist"
-msgstr "Nombre a captura de sesin"
+msgstr "limpiar Lista de Reproducción"
-#: editor_ops.cc:3288
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4294
msgid "nudge track"
-msgstr "Ocultar esta pista"
+msgstr "mover pista"
-#: editor_ops.cc:3315
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4322
msgid ""
"Do you really want to destroy the last capture?\n"
"(This is destructive and cannot be undone)"
msgstr ""
-"Realmente desea quitar el bus \"%1\" ?\n"
-"(no podr�deshacer este cambio)"
+"¿Desea realmente borrar la última captura?\n"
+"(Ésta es una acción destructiva que no podrá deshacer)"
-#: editor_ops.cc:3343
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4326
+msgid "Yes, destroy it."
+msgstr "Sí, eliminar."
+
+#: gtk2_ardour/editor_ops.cc:4354
msgid "normalize"
-msgstr "Normalizar"
+msgstr "normalizar"
-#: editor_ops.cc:3390
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:4463
msgid "reverse regions"
-msgstr "invertir regiones"
+msgstr "al revés"
+
+#: gtk2_ardour/editor_ops.cc:4583
+msgid "reset region gain"
+msgstr "restablecer ganancia de la región"
+
+#: gtk2_ardour/editor_ops.cc:4743
+msgid "set fade in length"
+msgstr "definir duración del fundido de entrada"
+
+#: gtk2_ardour/editor_ops.cc:4750
+msgid "set fade out length"
+msgstr "definir duración del fundido de salida"
+
+#: gtk2_ardour/editor_ops.cc:4798
+msgid "toggle fade in active"
+msgstr "activar/desactivar fundido de entrada"
+
+#: gtk2_ardour/editor_ops.cc:4798
+msgid "toggle fade out active"
+msgstr "activar/desactivar fundido de salida"
+
+#: gtk2_ardour/editor_ops.cc:4848
+msgid "set fade in shape"
+msgstr "ajustar curva de fundido de entrada"
+
+#: gtk2_ardour/editor_ops.cc:4881
+msgid "set fade out shape"
+msgstr "ajustar curva de fundido de salida"
+
+#: gtk2_ardour/editor_ops.cc:4913
+msgid "set fade in active"
+msgstr "activar fundido de entrada"
+
+#: gtk2_ardour/editor_ops.cc:4947
+msgid "set fade out active"
+msgstr "activar fundido de salida"
+
+#: gtk2_ardour/editor_ops.cc:5157
+msgid "trim front"
+msgstr "recortar inicio"
+
+#: gtk2_ardour/editor_ops.cc:5157
+msgid "trim back"
+msgstr "recortar final"
+
+#: gtk2_ardour/editor_ops.cc:5286
+msgid "set loop range from selection"
+msgstr "definir Rango de Bucle a partir de Selección"
+
+#: gtk2_ardour/editor_ops.cc:5308
+msgid "set loop range from edit range"
+msgstr "definir Rango de Bucle a partir de Rango de Edición"
+
+#: gtk2_ardour/editor_ops.cc:5339
+msgid "set loop range from region"
+msgstr "definir Rango de Bucle a partir de Región"
+
+#: gtk2_ardour/editor_ops.cc:5357
+msgid "set punch range from selection"
+msgstr "definir rango de pinchado a partir de selección"
+
+#: gtk2_ardour/editor_ops.cc:5374
+msgid "set punch range from edit range"
+msgstr "definir rango de pinchado a partir de rango de edición"
+
+# ¿rango de pinchado? suena raro...
+#: gtk2_ardour/editor_ops.cc:5400
+msgid "set punch range from region"
+msgstr "definir rango de pinchado a partir de región"
+
+#: gtk2_ardour/editor_ops.cc:5484
+msgid "Add new marker"
+msgstr "Agregar Marca nueva"
+
+#: gtk2_ardour/editor_ops.cc:5485
+msgid "Set global tempo"
+msgstr "Definir tempo global"
+
+#: gtk2_ardour/editor_ops.cc:5486
+msgid "Do you want to set the global tempo or add new tempo marker?"
+msgstr "¿Quieres definir el tempo global o añadir una nueva marca de tempo?"
+
+#: gtk2_ardour/editor_ops.cc:5510
+msgid "set tempo from region"
+msgstr "definir tempo a partir de región"
+
+#: gtk2_ardour/editor_ops.cc:5544
+msgid "split regions"
+msgstr "separar regiones"
+
+#: gtk2_ardour/editor_ops.cc:5589
+msgid ""
+"You are about to split\n"
+"%1\n"
+"into %2 pieces.\n"
+"This could take a long time."
+msgstr ""
+"Estás por separar\n"
+"%1\n"
+"en %2 partes.\n"
+"Esto puede llevar un largo rato."
+
+# ok?
+#: gtk2_ardour/editor_ops.cc:5596
+msgid "Call for the Ferret!"
+msgstr "¡Llamar al Ferret!"
+
+#: gtk2_ardour/editor_ops.cc:5597
+msgid ""
+"Press OK to continue with this split operation\n"
+"or ask the Ferret dialog to tune the analysis"
+msgstr ""
+"Pulse OK para continuar con esta operación de separación\n"
+"o ajuste el análisis en la ventana de Rhythm Ferret"
+
+#: gtk2_ardour/editor_ops.cc:5599
+msgid "Press OK to continue with this split operation"
+msgstr "Pulse OK para continuar con esta operación de separación."
+
+#: gtk2_ardour/editor_ops.cc:5602
+msgid "Excessive split?"
+msgstr "¿Excesivas divisiones?"
+
+#: gtk2_ardour/editor_ops.cc:5907
+msgid "track"
+msgstr "pista"
+
+#: gtk2_ardour/editor_ops.cc:5913
+msgid "bus"
+msgstr "bus"
+
+#: gtk2_ardour/editor_ops.cc:5918
+msgid ""
+"Do you really want to remove %1 %2 and %3 %4?\n"
+"(You may also lose the playlists associated with the %2)\n"
+"\n"
+"This action cannot be undone!"
+msgstr ""
+"¿Desea realmente eliminar %1 %2 y %3 %4?\n"
+"(Puede perder también las Listras de Reproducción\n"
+"asociadas con %2)\n"
+"\n"
+"¡No podrá deshacer esta acción!"
+
+#: gtk2_ardour/editor_ops.cc:5923
+msgid ""
+"Do you really want to remove %1 %2?\n"
+"(You may also lose the playlists associated with the %2)\n"
+"\n"
+"This action cannot be undone!"
+msgstr ""
+"¿Desea realmente eliminar %1 %2?\n"
+"(Puede perder también las Listas de Reproducción\n"
+"asociadas con %2)\n"
+"\n"
+"¡No podrá deshacer esta acción!"
+
+#: gtk2_ardour/editor_ops.cc:5929
+msgid "Do you really want to remove %1 %2?"
+msgstr "¿Desea realmente eliminar %1 %2?"
-#: editor_region_list.cc:98 editor_region_list.cc:103
-#: editor_region_list.cc:106 location_ui.cc:56
-#, fuzzy
+#: gtk2_ardour/editor_ops.cc:5935
+msgid "Yes, remove them."
+msgstr "Sí, eliminar esto."
+
+#: gtk2_ardour/editor_ops.cc:5980
+msgid "Stay in position"
+msgstr "Mantenerse en posición"
+
+#: gtk2_ardour/editor_ops.cc:5981
+msgid "Move"
+msgstr "Mover"
+
+#: gtk2_ardour/editor_ops.cc:5982
+msgid "Split & Later Section Moves"
+msgstr "Separarse y mover la porción posterior"
+
+#: gtk2_ardour/editor_ops.cc:5983
+msgid "Intersected regions should:"
+msgstr "Las regiones intersectadas deberían:"
+
+#: gtk2_ardour/editor_ops.cc:5984
+msgid "Move Glued Regions"
+msgstr "Mover regiones adheridas"
+
+#: gtk2_ardour/editor_ops.cc:5985
+msgid "Move Markers"
+msgstr "Mover Marcas"
+
+#: gtk2_ardour/editor_ops.cc:6059
+msgid "insert time"
+msgstr "Insertar tiempo"
+
+#: gtk2_ardour/editor_ops.cc:6141
+msgid "There are too many selected tracks to fit in the current window"
+msgstr "Hay demasiadas pistas seleccionadas para encajar en la ventana actual"
+
+#: gtk2_ardour/editor_ops.cc:6250
+#, c-format
+msgid "Saved view %u"
+msgstr "Vista guardada %u"
+
+#: gtk2_ardour/editor_region_list.cc:113
+#: gtk2_ardour/editor_region_list.cc:117
+#: gtk2_ardour/editor_region_list.cc:120
+#: gtk2_ardour/location_ui.cc:57
msgid "Hidden"
msgstr "Oculto"
-#. added a new fresh one at the end
-#: editor_route_list.cc:102 editor_route_list.cc:103 editor_route_list.cc:247
+#: gtk2_ardour/editor_region_list.cc:175
+msgid " (MISSING)"
+msgstr ""
+
+#: gtk2_ardour/editor_route_list.cc:43
msgid "editor"
msgstr "editor"
-#: editor_route_list.cc:310 mixer_ui.cc:699
+#: gtk2_ardour/editor_route_list.cc:369
+#: gtk2_ardour/mixer_ui.cc:950
msgid "Show All"
msgstr "Mostrar Todo"
-#: editor_route_list.cc:311 mixer_ui.cc:700
+#: gtk2_ardour/editor_route_list.cc:370
+#: gtk2_ardour/mixer_ui.cc:951
msgid "Hide All"
msgstr "Ocultar Todo"
-#: editor_route_list.cc:312 mixer_ui.cc:701
-#, fuzzy
+#: gtk2_ardour/editor_route_list.cc:371
+#: gtk2_ardour/mixer_ui.cc:952
msgid "Show All Audio Tracks"
-msgstr "Mostrar todos los Buses"
+msgstr "Mostrar todas las Pistas de Audio"
-#: editor_route_list.cc:313 mixer_ui.cc:702
-#, fuzzy
+#: gtk2_ardour/editor_route_list.cc:372
+#: gtk2_ardour/mixer_ui.cc:953
msgid "Hide All Audio Tracks"
-msgstr "Ocultar todos los Buses"
+msgstr "Ocultar todas las Pistas de Audio"
-#: editor_route_list.cc:314 mixer_ui.cc:703
-#, fuzzy
+#: gtk2_ardour/editor_route_list.cc:373
+#: gtk2_ardour/mixer_ui.cc:954
msgid "Show All Audio Busses"
-msgstr "Mostrar todos los Buses"
+msgstr "Mostrar todos los Buses de Audio"
-#: editor_route_list.cc:315 mixer_ui.cc:704
-#, fuzzy
+#: gtk2_ardour/editor_route_list.cc:374
+#: gtk2_ardour/mixer_ui.cc:955
msgid "Hide All Audio Busses"
-msgstr "Ocultar todos los Buses"
+msgstr "Ocultar todos los Buses de Audio"
-#: editor_rulers.cc:312
-#, fuzzy
+#: gtk2_ardour/editor_rulers.cc:409
msgid "New location marker"
-msgstr "Nuevo marcador de localizacin"
+msgstr "Nueva marca de posición"
-#: editor_rulers.cc:313
-#, fuzzy
+# es un menú contextual en la regla de 'marcas de posición' en donde sólo se hace referencia a 'marcas' y 'marcas de posición'
+# no me parece bien mencionar "lugares"
+#: gtk2_ardour/editor_rulers.cc:410
msgid "Clear all locations"
-msgstr "Quitar todas las localizaciones"
+msgstr "Limpiar todos las marcas de posición"
+
+#: gtk2_ardour/editor_rulers.cc:411
+msgid "Unhide locations"
+msgstr "Mostrar marcas de posición"
-#. ruler_items.push_back (MenuElem (_("New Range")));
-#: editor_rulers.cc:318
-#, fuzzy
+#: gtk2_ardour/editor_rulers.cc:416
msgid "Clear all ranges"
-msgstr "Quitar todas las selecciones"
+msgstr "Limpiar regla de rangos"
+
+#: gtk2_ardour/editor_rulers.cc:417
+msgid "Unhide ranges"
+msgstr "Mostrar Rangos"
-#: editor_rulers.cc:327
-#, fuzzy
+#: gtk2_ardour/editor_rulers.cc:427
+msgid "New CD track marker"
+msgstr "Nueva marca de pista de CD"
+
+#: gtk2_ardour/editor_rulers.cc:432
msgid "New Tempo"
msgstr "Nuevo tempo"
-#: editor_rulers.cc:328
-#, fuzzy
+#: gtk2_ardour/editor_rulers.cc:433
msgid "Clear tempo"
-msgstr "Resetear tempo"
+msgstr "Limpiar regla de tempo"
-#: editor_rulers.cc:333
-#, fuzzy
+#: gtk2_ardour/editor_rulers.cc:438
msgid "New Meter"
-msgstr "Nuevo Medidor"
+msgstr "Nuevo compás"
-#: editor_rulers.cc:334
-#, fuzzy
+# es correcto el término 'resetear'?
+#: gtk2_ardour/editor_rulers.cc:439
msgid "Clear meter"
-msgstr "Resetear Medidor"
+msgstr "Limpiar regla de compás"
-#: editor_rulers.cc:342
-#, fuzzy
-msgid "Min:Secs"
-msgstr "Mins:Segs"
+#: gtk2_ardour/editor_selection.cc:733
+msgid "set selected regions"
+msgstr ""
+
+#: gtk2_ardour/editor_selection.cc:875
+msgid "select all"
+msgstr "seleccionar todo"
+
+#: gtk2_ardour/editor_selection.cc:964
+msgid "select all within"
+msgstr "seleccione todos dentro"
+
+#: gtk2_ardour/editor_selection.cc:1024
+msgid "set selection from range"
+msgstr "nueva selección a partir de rango"
+
+#: gtk2_ardour/editor_selection.cc:1064
+msgid "select all from range"
+msgstr "seleccionar todo lo del rango"
+
+#: gtk2_ardour/editor_selection.cc:1095
+msgid "select all from punch"
+msgstr "seleccionar todo desde el pinche"
-#: editor_selection_list.cc:108
-#, fuzzy
+#: gtk2_ardour/editor_selection.cc:1126
+msgid "select all from loop"
+msgstr "seleccionar todo lo del bucle"
+
+#: gtk2_ardour/editor_selection.cc:1140
+msgid "select all after cursor"
+msgstr "seleccionar todo desde el cursor"
+
+#: gtk2_ardour/editor_selection.cc:1145
+msgid "select all before cursor"
+msgstr "seleccionar todo hasta el cursor"
+
+#: gtk2_ardour/editor_selection.cc:1180
+msgid "select all after edit"
+msgstr "seleccionar todo desde el punto de edición"
+
+#: gtk2_ardour/editor_selection.cc:1185
+msgid "select all before edit"
+msgstr "seleccionar todo hasta el punto de edición"
+
+#: gtk2_ardour/editor_selection.cc:1312
+msgid "No edit range defined"
+msgstr "Rango de Edición no definido"
+
+#: gtk2_ardour/editor_selection.cc:1318
+msgid ""
+"the edit point is Selected Marker\n"
+"but there is no selected marker."
+msgstr ""
+"el punto de edición es Marca Seleccionada\n"
+"pero no hay ninguna marca seleccionada."
+
+#: gtk2_ardour/editor_selection_list.cc:180
msgid "Name for Chunk:"
-msgstr "nombre para trecho"
+msgstr "Nombre para Fragmento"
-#: editor_selection_list.cc:111
-#, fuzzy
+#: gtk2_ardour/editor_selection_list.cc:183
msgid "Create Chunk"
-msgstr "Crear trecho"
+msgstr "Crear fragmento"
-#: editor_selection_list.cc:111
+#: gtk2_ardour/editor_selection_list.cc:183
msgid "Forget it"
msgstr "Olvidarlo"
-#: editor_tempodisplay.cc:253 editor_tempodisplay.cc:293
+#: gtk2_ardour/editor_selection_list.cc:206
+msgid "No selectable material found in the currently selected time range"
+msgstr "No se encontró material seleccionable en el rango de tiempo seleccionado actualmente"
+
+#: gtk2_ardour/editor_tempodisplay.cc:213
+#: gtk2_ardour/editor_tempodisplay.cc:256
msgid "add"
msgstr "agregar"
-#: editor_tempodisplay.cc:275
-#, fuzzy
+#: gtk2_ardour/editor_tempodisplay.cc:237
msgid "add tempo mark"
-msgstr "agregar un marcador de regin"
+msgstr "agregar una marca de tempo"
-#: editor_tempodisplay.cc:315
-#, fuzzy
+#: gtk2_ardour/editor_tempodisplay.cc:280
msgid "add meter mark"
-msgstr "agregar un marcador de regin"
+msgstr "agregar una marca de compás"
-#: editor_tempodisplay.cc:348 editor_tempodisplay.cc:376
+#: gtk2_ardour/editor_tempodisplay.cc:313
+#: gtk2_ardour/editor_tempodisplay.cc:342
msgid "done"
msgstr "listo"
-#: editor_tempodisplay.cc:366 editor_tempodisplay.cc:394
+#: gtk2_ardour/editor_tempodisplay.cc:331
+#: gtk2_ardour/editor_tempodisplay.cc:363
msgid "replace tempo mark"
-msgstr ""
+msgstr "reemplazar marca de tempo"
-#: editor_tempodisplay.cc:433 editor_tempodisplay.cc:464
+#: gtk2_ardour/editor_tempodisplay.cc:405
+#: gtk2_ardour/editor_tempodisplay.cc:437
msgid "programming error: marker for meter is not a meter marker!"
-msgstr ""
+msgstr "error de programación: ¡la marca para el compás no es una marca de compás!"
-#: editor_tempodisplay.cc:443 editor_tempodisplay.cc:476
-#, fuzzy
+#: gtk2_ardour/editor_tempodisplay.cc:415
+#: gtk2_ardour/editor_tempodisplay.cc:449
msgid "remove tempo mark"
-msgstr "quitar marcador"
+msgstr "eliminar marca de tempo"
-#: editor_timefx.cc:51
+#: gtk2_ardour/editor_timefx.cc:71
msgid "Quick but Ugly"
-msgstr "R�ido pero pobre"
+msgstr "Rápido pero pobre"
-#: editor_timefx.cc:52
+#: gtk2_ardour/editor_timefx.cc:72
msgid "Skip Anti-aliasing"
msgstr "No usar Anti-aliasing"
-#: editor_timefx.cc:56
-msgid "ardour: timestretch"
+#: gtk2_ardour/editor_timefx.cc:73
+msgid "Contents:"
+msgstr "Contenidos:"
+
+#: gtk2_ardour/editor_timefx.cc:74
+msgid "Strict Linear"
+msgstr "Estrictamente lineal"
+
+#: gtk2_ardour/editor_timefx.cc:75
+msgid "Preserve Formants"
+msgstr "Preservar formantes"
+
+#: gtk2_ardour/editor_timefx.cc:79
+msgid "TimeFXDialog"
+msgstr ""
+
+#: gtk2_ardour/editor_timefx.cc:83
+msgid "Pitch Shift"
+msgstr "Cambiar Altura"
+
+#: gtk2_ardour/editor_timefx.cc:85
+msgid "Time Stretch"
+msgstr "Estirar tiempo"
+
+#: gtk2_ardour/editor_timefx.cc:101
+msgid "Octaves"
+msgstr "Octavas"
+
+#: gtk2_ardour/editor_timefx.cc:105
+msgid "Semitones (12TET)"
+msgstr "Semitonos (12TET)"
+
+# si se refiere a las centésimas de semitono, creo que habría que dejar el término "cents".
+#: gtk2_ardour/editor_timefx.cc:109
+msgid "Cents"
+msgstr "Cents"
+
+#: gtk2_ardour/editor_timefx.cc:118
+msgid "Shift"
msgstr ""
-#: editor_timefx.cc:57
-msgid "TimeStretchDialog"
+#: gtk2_ardour/editor_timefx.cc:147
+#: gtk2_ardour/editor_timefx.cc:148
+msgid "TimeFXButton"
msgstr ""
-#: editor_timefx.cc:70
-msgid "Stretch/Shrink it"
-msgstr "Estirar/Encoger esto"
+#: gtk2_ardour/editor_timefx.cc:153
+msgid "Stretch/Shrink"
+msgstr "Estirar/Contraer"
-#: editor_timefx.cc:73 editor_timefx.cc:74
-msgid "TimeStretchButton"
+#: gtk2_ardour/editor_timefx.cc:158
+msgid "TimeFXProgress"
msgstr ""
-#: editor_timefx.cc:75
-msgid "TimeStretchProgress"
+#: gtk2_ardour/editor_timefx.cc:334
+msgid "timefx cannot be started - thread creation error"
msgstr ""
-#: editor_timefx.cc:139
-msgid "timestretch cannot be started - thread creation error"
+#: gtk2_ardour/editor_timefx.cc:415
+msgid "pitch shift"
+msgstr "cambiar altura"
+
+#: gtk2_ardour/editor_timefx.cc:415
+msgid "time stretch"
+msgstr "Estirar tiempo"
+
+#: gtk2_ardour/engine_dialog.cc:49
+msgid "Realtime"
+msgstr "Tiempo-real"
+
+#: gtk2_ardour/engine_dialog.cc:50
+msgid "Do not lock memory"
+msgstr "No bloquear memoria"
+
+#: gtk2_ardour/engine_dialog.cc:51
+msgid "Unlock memory"
+msgstr "Desbloquear memoria"
+
+#: gtk2_ardour/engine_dialog.cc:52
+msgid "No zombies"
+msgstr "Sin zombis"
+
+#: gtk2_ardour/engine_dialog.cc:53
+msgid "Provide monitor ports"
+msgstr "Puertos de monitorización"
+
+#: gtk2_ardour/engine_dialog.cc:54
+msgid "Force 16 bit"
+msgstr "Forzar 16 bit"
+
+#: gtk2_ardour/engine_dialog.cc:55
+msgid "H/W monitoring"
+msgstr "Monitorización por Hardware"
+
+#: gtk2_ardour/engine_dialog.cc:56
+msgid "H/W metering"
+msgstr "Vúmetro por hardware"
+
+#: gtk2_ardour/engine_dialog.cc:57
+msgid "Verbose output"
+msgstr "Salida verbosa"
+
+#: gtk2_ardour/engine_dialog.cc:58
+msgid "Start"
+msgstr "Inicio"
+
+#: gtk2_ardour/engine_dialog.cc:77
+msgid "8000Hz"
+msgstr "8000Hz"
+
+#: gtk2_ardour/engine_dialog.cc:78
+msgid "22050Hz"
+msgstr "22050Hz"
+
+#: gtk2_ardour/engine_dialog.cc:79
+msgid "44100Hz"
+msgstr "44100Hz"
+
+#: gtk2_ardour/engine_dialog.cc:80
+msgid "48000Hz"
+msgstr "48000Hz"
+
+#: gtk2_ardour/engine_dialog.cc:81
+msgid "88200Hz"
+msgstr "88200Hz"
+
+#: gtk2_ardour/engine_dialog.cc:82
+msgid "96000Hz"
+msgstr "96000Hz"
+
+#: gtk2_ardour/engine_dialog.cc:83
+msgid "192000Hz"
+msgstr "192000Hz"
+
+#: gtk2_ardour/engine_dialog.cc:102
+#: gtk2_ardour/engine_dialog.cc:511
+#: gtk2_ardour/export_dialog.cc:82
+#: gtk2_ardour/export_dialog.cc:1339
+msgid "Triangular"
+msgstr "Triangular"
+
+#: gtk2_ardour/engine_dialog.cc:103
+#: gtk2_ardour/engine_dialog.cc:513
+#: gtk2_ardour/export_dialog.cc:80
+#: gtk2_ardour/export_dialog.cc:1337
+msgid "Rectangular"
+msgstr "Rectangular"
+
+#: gtk2_ardour/engine_dialog.cc:104
+#: gtk2_ardour/engine_dialog.cc:515
+msgid "Shaped"
+msgstr ""
+
+#: gtk2_ardour/engine_dialog.cc:129
+#: gtk2_ardour/engine_dialog.cc:449
+#: gtk2_ardour/engine_dialog.cc:909
+msgid "Playback/Recording on 1 Device"
+msgstr "Reproducir/Grabar en 1 dispositivo"
+
+#: gtk2_ardour/engine_dialog.cc:130
+#: gtk2_ardour/engine_dialog.cc:453
+#: gtk2_ardour/engine_dialog.cc:488
+#: gtk2_ardour/engine_dialog.cc:912
+msgid "Playback/Recording on 2 Devices"
+msgstr "Reproducir/Grabar en 2 dispositivos"
+
+#: gtk2_ardour/engine_dialog.cc:131
+#: gtk2_ardour/engine_dialog.cc:468
+#: gtk2_ardour/engine_dialog.cc:915
+msgid "Playback only"
+msgstr "Reproducción solamente"
+
+#: gtk2_ardour/engine_dialog.cc:132
+#: gtk2_ardour/engine_dialog.cc:470
+#: gtk2_ardour/engine_dialog.cc:917
+msgid "Recording only"
+msgstr "Grabar solamente"
+
+#: gtk2_ardour/engine_dialog.cc:141
+msgid "Driver"
+msgstr "Driver"
+
+#: gtk2_ardour/engine_dialog.cc:146
+msgid "Interface"
+msgstr "Interfaz"
+
+#: gtk2_ardour/engine_dialog.cc:151
+#: gtk2_ardour/export_dialog.cc:109
+msgid "Sample Rate"
+msgstr "Frecuencia de muestreo"
+
+#: gtk2_ardour/engine_dialog.cc:156
+msgid "Buffer size"
+msgstr "Tamaño del buffer"
+
+#: gtk2_ardour/engine_dialog.cc:162
+msgid "Number of buffers"
+msgstr "Cantidad de buffers"
+
+#: gtk2_ardour/engine_dialog.cc:169
+msgid "Approximate latency"
+msgstr "Latencia aproximada"
+
+#: gtk2_ardour/engine_dialog.cc:183
+msgid "Audio Mode"
+msgstr "Modo de Audio"
+
+#: gtk2_ardour/engine_dialog.cc:222
+msgid "Realtime Priority"
+msgstr "Prioridad de Tiempo-real"
+
+#: gtk2_ardour/engine_dialog.cc:251
+#: gtk2_ardour/engine_dialog.cc:375
+msgid "Ignore"
+msgstr "Ignorar"
+
+# ¿cómo traducir timeout?
+#: gtk2_ardour/engine_dialog.cc:259
+msgid "Client timeout"
+msgstr "Timeout de clientes"
+
+#: gtk2_ardour/engine_dialog.cc:265
+msgid "Number of ports"
+msgstr "Cantidad de puertos"
+
+#: gtk2_ardour/engine_dialog.cc:272
+msgid "Dither"
+msgstr "Dither"
+
+#: gtk2_ardour/engine_dialog.cc:282
+msgid "No JACK server found anywhere on this system. Please install JACK and restart"
+msgstr "No se pudo encontrar un servidor JACK en el sistema. Por favor, instale JACK y reinicie."
+
+#: gtk2_ardour/engine_dialog.cc:290
+msgid "Server:"
+msgstr "Servidor:"
+
+#: gtk2_ardour/engine_dialog.cc:303
+msgid "Input device"
+msgstr "Dispositivo de entrada"
+
+#: gtk2_ardour/engine_dialog.cc:308
+msgid "Output device"
+msgstr "Dispositivo de salida"
+
+#: gtk2_ardour/engine_dialog.cc:314
+msgid "Input channels"
+msgstr "Canales de entrada"
+
+#: gtk2_ardour/engine_dialog.cc:319
+msgid "Output channels"
+msgstr "Canales de salida"
+
+#: gtk2_ardour/engine_dialog.cc:324
+msgid "Hardware input latency (samples)"
+msgstr "Latencia de entrada del hardware (cuadros)"
+
+#: gtk2_ardour/engine_dialog.cc:329
+msgid "Hardware output latency (samples)"
+msgstr "Latencia de salida del hardware (cuadros)"
+
+#: gtk2_ardour/engine_dialog.cc:342
+msgid "Device"
+msgstr "Dispositivo"
+
+#: gtk2_ardour/engine_dialog.cc:344
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: gtk2_ardour/engine_dialog.cc:579
+msgid "cannot open JACK rc file %1 to store parameters"
+msgstr "no se pudo leer el archivo de inicialización de JACK %1 para almacenar parámetros"
+
+#: gtk2_ardour/engine_dialog.cc:720
+msgid ""
+"You do not have any audio devices capable of\n"
+"simultaneous playback and recording.\n"
+"\n"
+"Please use Applications -> Utilities -> Audio MIDI Setup\n"
+"to create an \"aggregrate\" device, or install a suitable\n"
+"audio interface.\n"
+"\n"
+"Please send email to Apple and ask them why new Macs\n"
+"have no duplex audio device.\n"
+"\n"
+"Alternatively, if you really want just playback\n"
+"or recording but not both, start JACK before running\n"
+"Ardour and choose the relevant device then."
+msgstr ""
+
+#: gtk2_ardour/engine_dialog.cc:733
+msgid "No suitable audio devices"
+msgstr "No hay dispositivos de audio adecuados"
+
+#: gtk2_ardour/engine_dialog.cc:845
+msgid "No devices found for driver \"%1\""
+msgstr "No se encontraron dispositivos para el driver \"%1\""
+
+#: gtk2_ardour/engine_dialog.cc:950
+msgid "JACK appears to be missing from the Ardour bundle"
+msgstr ""
+
+#: gtk2_ardour/engine_dialog.cc:1016
+msgid "You need to choose an audio device first."
+msgstr "Es necesario elegir un dispositivo de audio primero."
+
+#: gtk2_ardour/engine_dialog.cc:1032
+msgid "Audio device \"%1\" not known on this computer."
+msgstr "El dispositivo de audio \"%1\" no se conoce en esta computadora."
+
+#: gtk2_ardour/engine_dialog.cc:1180
+msgid "AudioSetup value for %1 is missing data"
msgstr ""
-#: export_dialog.cc:59 export_dialog.cc:399 export_dialog.cc:1027
-#: export_dialog.cc:1195
+#: gtk2_ardour/engine_dialog.cc:1260
+msgid "configuration files contain a JACK server path that doesn't exist (%1)"
+msgstr "los archivos de configuración contienen una ruta al servidor JACK que no existe (%1)"
+
+#: gtk2_ardour/export_dialog.cc:60
+#: gtk2_ardour/export_dialog.cc:424
+#: gtk2_ardour/export_dialog.cc:1131
+#: gtk2_ardour/export_dialog.cc:1301
msgid "22.05kHz"
msgstr "22.05kHz"
-#: export_dialog.cc:60 export_dialog.cc:402 export_dialog.cc:417
-#: export_dialog.cc:1029 export_dialog.cc:1197
+#: gtk2_ardour/export_dialog.cc:61
+#: gtk2_ardour/export_dialog.cc:427
+#: gtk2_ardour/export_dialog.cc:442
+#: gtk2_ardour/export_dialog.cc:1133
+#: gtk2_ardour/export_dialog.cc:1303
msgid "44.1kHz"
msgstr "44.1kHz"
-#: export_dialog.cc:61 export_dialog.cc:405 export_dialog.cc:1031
-#: export_dialog.cc:1199
+#: gtk2_ardour/export_dialog.cc:62
+#: gtk2_ardour/export_dialog.cc:430
+#: gtk2_ardour/export_dialog.cc:1135
+#: gtk2_ardour/export_dialog.cc:1305
msgid "48kHz"
msgstr "48kHz"
-#: export_dialog.cc:62 export_dialog.cc:408 export_dialog.cc:1033
-#: export_dialog.cc:1201
+#: gtk2_ardour/export_dialog.cc:63
+#: gtk2_ardour/export_dialog.cc:433
+#: gtk2_ardour/export_dialog.cc:1137
+#: gtk2_ardour/export_dialog.cc:1307
msgid "88.2kHz"
msgstr "88.2kHz"
-#: export_dialog.cc:63 export_dialog.cc:411 export_dialog.cc:1035
-#: export_dialog.cc:1203
+#: gtk2_ardour/export_dialog.cc:64
+#: gtk2_ardour/export_dialog.cc:436
+#: gtk2_ardour/export_dialog.cc:1139
+#: gtk2_ardour/export_dialog.cc:1309
msgid "96kHz"
msgstr "96kHz"
-#: export_dialog.cc:64 export_dialog.cc:414 export_dialog.cc:1037
-#: export_dialog.cc:1205
+#: gtk2_ardour/export_dialog.cc:65
+#: gtk2_ardour/export_dialog.cc:439
+#: gtk2_ardour/export_dialog.cc:1141
+#: gtk2_ardour/export_dialog.cc:1311
msgid "192kHz"
msgstr "192kHz"
-#: export_dialog.cc:69
+#: gtk2_ardour/export_dialog.cc:70
msgid "best"
msgstr "excelente"
-#: export_dialog.cc:70 export_dialog.cc:1212
+#: gtk2_ardour/export_dialog.cc:71
+#: gtk2_ardour/export_dialog.cc:1321
msgid "fastest"
-msgstr "r�ido"
+msgstr "rapidísima"
-#: export_dialog.cc:71 export_dialog.cc:1214
+#: gtk2_ardour/export_dialog.cc:72
+#: gtk2_ardour/export_dialog.cc:1323
msgid "linear"
-msgstr "linear"
+msgstr "lineal"
-#: export_dialog.cc:72 export_dialog.cc:1216
+#: gtk2_ardour/export_dialog.cc:73
+#: gtk2_ardour/export_dialog.cc:1325
msgid "better"
-msgstr "bueno"
+msgstr "mejor"
-#: export_dialog.cc:73 export_dialog.cc:1218
+#: gtk2_ardour/export_dialog.cc:74
+#: gtk2_ardour/export_dialog.cc:1327
msgid "intermediate"
-msgstr "intermedio"
-
-#: export_dialog.cc:79 export_dialog.cc:1227
-msgid "Rectangular"
-msgstr "Rectangular"
+msgstr "intermedia"
-#: export_dialog.cc:80
+#: gtk2_ardour/export_dialog.cc:81
msgid "Shaped Noise"
-msgstr "Perfil de Ru�o"
-
-#: export_dialog.cc:81 export_dialog.cc:1229
-msgid "Triangular"
-msgstr "Triangular"
+msgstr ""
-#: export_dialog.cc:86
+#: gtk2_ardour/export_dialog.cc:87
msgid "stereo"
-msgstr "est�eo"
+msgstr "estéreo"
-#. default is to use all
-#: export_dialog.cc:87 export_dialog.cc:486 export_dialog.cc:1055
-#: export_dialog.cc:1177
+#: gtk2_ardour/export_dialog.cc:88
+#: gtk2_ardour/export_dialog.cc:511
+#: gtk2_ardour/export_dialog.cc:1159
+#: gtk2_ardour/export_dialog.cc:1281
msgid "mono"
msgstr "mono"
-#: export_dialog.cc:93
+#: gtk2_ardour/export_dialog.cc:94
msgid "CUE"
-msgstr ""
+msgstr "CUE"
-#: export_dialog.cc:94
+#: gtk2_ardour/export_dialog.cc:95
+#: gtk2_ardour/export_dialog.cc:927
msgid "TOC"
-msgstr ""
+msgstr "TOC"
-#: export_dialog.cc:102
-#, fuzzy
+#: gtk2_ardour/export_dialog.cc:103
msgid "Format"
-msgstr "Normal"
+msgstr "Formato"
-#: export_dialog.cc:103
+#: gtk2_ardour/export_dialog.cc:104
msgid "CD Marker File Type"
-msgstr ""
+msgstr "Tipo de archivo de marcas de CD"
-#: export_dialog.cc:104
-#, fuzzy
+#: gtk2_ardour/export_dialog.cc:105
msgid "Channels"
-msgstr "cancelar"
+msgstr "Canales"
-#: export_dialog.cc:105
-#, fuzzy
-msgid "File Type"
-msgstr "Explorador de archivos"
-
-#: export_dialog.cc:106
-#, fuzzy
-msgid "Sample Format"
-msgstr "Separar Regin"
-
-#: export_dialog.cc:107
+#: gtk2_ardour/export_dialog.cc:108
msgid "Sample Endianness"
msgstr ""
-#: export_dialog.cc:108
-#, fuzzy
-msgid "Sample Rate"
-msgstr "Separar Regin"
-
-#: export_dialog.cc:109
+#: gtk2_ardour/export_dialog.cc:110
msgid "Conversion Quality"
-msgstr ""
+msgstr "Calidad de conversión"
-#: export_dialog.cc:110
+#: gtk2_ardour/export_dialog.cc:111
msgid "Dither Type"
-msgstr ""
+msgstr "Tipo de perfil de ruido"
-#: export_dialog.cc:111
+#: gtk2_ardour/export_dialog.cc:112
msgid "Export CD Marker File Only"
-msgstr ""
-
-#: export_dialog.cc:112
-#, fuzzy
-msgid "Export to File"
-msgstr "Exportar a CD"
+msgstr "Sólo exportar archivo de marcas de CD"
-#: export_dialog.cc:113 option_editor.cc:83 option_editor.cc:84
+#: gtk2_ardour/export_dialog.cc:113
+#: gtk2_ardour/option_editor.cc:105
+#: gtk2_ardour/option_editor.cc:106
msgid "Browse"
-msgstr "Seleccionar"
+msgstr "Explorar"
-#: export_dialog.cc:114
+#: gtk2_ardour/export_dialog.cc:114
msgid "Specific tracks ..."
-msgstr ""
-
-#: export_dialog.cc:125
-msgid "ardour: export"
-msgstr "ardour: exportar"
+msgstr "Pistas específicas..."
-#: export_dialog.cc:126
-msgid "ardour_export"
-msgstr ""
-
-#: export_dialog.cc:139 export_dialog.cc:155 mixer_strip.cc:124
-#: mixer_strip.cc:767
-#, fuzzy
+#: gtk2_ardour/export_dialog.cc:142
+#: gtk2_ardour/export_dialog.cc:158
+#: gtk2_ardour/mixer_strip.cc:153
+#: gtk2_ardour/mixer_strip.cc:803
msgid "Output"
-msgstr "Salidas"
+msgstr "Salida"
-#: export_dialog.cc:633
-#, fuzzy
+#: gtk2_ardour/export_dialog.cc:657
msgid "Editor: cannot open \"%1\" as export file for CD toc file"
-msgstr ""
-"Editor: no se puede abrir \"%1\" como archivo de exportacin de marcadores de "
-"CD"
+msgstr "Editor: no se puede abrir \"%1\" como archivo de exportación de marcas de CD"
-#: export_dialog.cc:759
-#, fuzzy
+#: gtk2_ardour/export_dialog.cc:791
msgid "Editor: cannot open \"%1\" as export file for CD cue file"
-msgstr ""
-"Editor: no se puede abrir \"%1\" como archivo de exportacin de marcadores de "
-"CD"
+msgstr "Editor: no se puede abrir \"%1\" como archivo de exportación de marcas de CD"
-#: export_dialog.cc:778
+#: gtk2_ardour/export_dialog.cc:810
msgid "WAV"
-msgstr ""
+msgstr "WAV"
+
+#: gtk2_ardour/export_dialog.cc:942
+msgid "Not connected to audioengine"
+msgstr "No está conectado al motor de audio"
-#: export_dialog.cc:912
+#: gtk2_ardour/export_dialog.cc:946
+msgid "Ardour cannot export audio when disconnected"
+msgstr "¡Ardour no puede exportar audio cuando está desconectado!"
+
+#: gtk2_ardour/export_dialog.cc:1007
msgid "Stop Export"
-msgstr "Cancelar Exportacin"
+msgstr "Cancelar Exportación"
+
+#: gtk2_ardour/export_dialog.cc:1020
+msgid "export"
+msgstr "exportar"
-#: export_dialog.cc:1131
+#: gtk2_ardour/export_dialog.cc:1235
msgid "Please enter a valid filename."
-msgstr ""
+msgstr "Por favor, ingrese un nombre de archivo válido."
-#: export_dialog.cc:1141
+#: gtk2_ardour/export_dialog.cc:1245
msgid "Please specify a complete filename for the audio file."
-msgstr ""
+msgstr "Por favor, especifique un nombre de archivo completo para el archivo de audio."
-#: export_dialog.cc:1147
+#: gtk2_ardour/export_dialog.cc:1251
msgid "File already exists, do you want to overwrite it?"
-msgstr ""
+msgstr "El archivo ya existe, ¿quiere sobreescribirlo?"
-#: export_dialog.cc:1159 export_range_markers_dialog.cc:153
+#: gtk2_ardour/export_dialog.cc:1263
+#: gtk2_ardour/export_range_markers_dialog.cc:159
msgid "Cannot write file in: "
-msgstr ""
+msgstr "No se pudo escibirir el archivo en:"
+
+#: gtk2_ardour/export_range_markers_dialog.cc:41
+msgid "ardour: export ranges"
+msgstr "Ardour: exportar rangos"
-#. warning dialog
-#: export_range_markers_dialog.cc:135
+#: gtk2_ardour/export_range_markers_dialog.cc:42
+msgid "Export to Directory"
+msgstr "Exportar a directorio"
+
+#: gtk2_ardour/export_range_markers_dialog.cc:142
msgid "Please enter a valid target directory."
-msgstr ""
+msgstr "Por favor, ingrese un directorio de destino válido."
-#: export_range_markers_dialog.cc:143
-msgid ""
-"Please select an existing target directory. Files\n"
-"are not allowed!"
-msgstr ""
+#: gtk2_ardour/export_range_markers_dialog.cc:150
+msgid "Please select an existing target directory. Files are not allowed!"
+msgstr "Por favor, seleccione un directorio de destino existente. ¡No se permiten archivos!"
-#: gain_automation_time_axis.cc:62
-#, fuzzy
-msgid "add gain automation event"
-msgstr "agregar evento de automatizacin a "
+#: gtk2_ardour/export_region_dialog.cc:34
+msgid "ardour: export region"
+msgstr "Ardour: exportar región"
-#: gain_meter.cc:67
-msgid "cannot find images for fader slider"
-msgstr ""
+#: gtk2_ardour/export_region_dialog.cc:35
+#: gtk2_ardour/export_session_dialog.cc:29
+msgid "Export to File"
+msgstr "Exportar a archivo"
-#: gain_meter.cc:74
-msgid "cannot find images for fader rail"
-msgstr ""
+#: gtk2_ardour/gain_automation_time_axis.cc:64
+msgid "add gain automation event"
+msgstr "agregar evento de automatización de ganancia"
-#: gain_meter.cc:130 gain_meter.cc:339 gain_meter.cc:494 gain_meter.cc:539
-#, fuzzy
+#: gtk2_ardour/gain_meter.cc:117
+#: gtk2_ardour/gain_meter.cc:362
+#: gtk2_ardour/gain_meter.cc:723
msgid "-inf"
-msgstr "entrada"
+msgstr "-inf"
-#: gain_meter.cc:140
-#, fuzzy
+#: gtk2_ardour/gain_meter.cc:123
+#: gtk2_ardour/gain_meter.cc:769
msgid "Fader automation mode"
-msgstr "modo de automatizacin de balance"
+msgstr "Modo de automatización de atenuador"
-#: gain_meter.cc:141
-#, fuzzy
+#: gtk2_ardour/gain_meter.cc:124
+#: gtk2_ardour/gain_meter.cc:770
msgid "Fader automation type"
-msgstr "estado de automatizacin de balance"
+msgstr "Tipo de automatización de atenuador"
-#. XXX it might different in different languages
-#: gain_meter.cc:182 gain_meter.cc:817 panner_ui.cc:99 panner_ui.cc:807
+#: gtk2_ardour/gain_meter.cc:133
+#: gtk2_ardour/gain_meter.cc:662
+#: gtk2_ardour/panner_ui.cc:201
+#: gtk2_ardour/panner_ui.cc:852
msgid "Abs"
-msgstr ""
+msgstr "Abs"
-#: gain_meter.cc:472
-#, fuzzy
+#: gtk2_ardour/gain_meter.cc:287
msgid "-Inf"
-msgstr "entrada"
+msgstr "-Inf"
-#: gain_meter.cc:781 mixer_strip.cc:770 panner_ui.cc:771
-#, fuzzy
-msgid "O"
-msgstr "O"
+#: gtk2_ardour/gain_meter.cc:473
+#: gtk2_ardour/gain_meter.cc:488
+msgid "meter point change"
+msgstr ""
-#: gain_meter.cc:784 panner_ui.cc:774
+#: gtk2_ardour/gain_meter.cc:626
+#: gtk2_ardour/mixer_strip.cc:516
+#: gtk2_ardour/panner_ui.cc:816
+msgid "M"
+msgstr ""
+
+#: gtk2_ardour/gain_meter.cc:629
+#: gtk2_ardour/panner_ui.cc:819
msgid "P"
msgstr ""
-#: gain_meter.cc:787 panner_ui.cc:777
+#: gtk2_ardour/gain_meter.cc:632
+#: gtk2_ardour/panner_ui.cc:822
msgid "T"
msgstr ""
-#: gain_meter.cc:790 panner_ui.cc:780
+#: gtk2_ardour/gain_meter.cc:635
+#: gtk2_ardour/panner_ui.cc:825
msgid "W"
msgstr ""
-#: gtk-custom-ruler.c:126
-#, fuzzy
+#: gtk2_ardour/generic_pluginui.cc:78
+msgid "<span size=\"large\">Presets</span>"
+msgstr "<span size=\"large\">Presets</span>"
+
+#: gtk2_ardour/generic_pluginui.cc:210
+msgid "Plugin Editor: could not build control element for port %1"
+msgstr "Editor de plugin: no se pudo crear el elemento de control para el puerto %1"
+
+#: gtk2_ardour/generic_pluginui.cc:300
+msgid "Automation control"
+msgstr "Control de la automatización"
+
+#: gtk2_ardour/generic_pluginui.cc:307
+msgid "Mgnual"
+msgstr "Manual"
+
+#: gtk2_ardour/gtk-custom-ruler.c:126
msgid "Lower"
-msgstr "Capa"
+msgstr "Inferior"
-#: gtk-custom-ruler.c:127
-#, fuzzy
+#: gtk2_ardour/gtk-custom-ruler.c:127
msgid "Lower limit of ruler"
-msgstr "Enviar regin a capa m� baja"
+msgstr "Límite inferior de la regla"
-#: gtk-custom-ruler.c:136
+#: gtk2_ardour/gtk-custom-ruler.c:136
msgid "Upper"
-msgstr ""
+msgstr "Superior"
-#: gtk-custom-ruler.c:137
+#: gtk2_ardour/gtk-custom-ruler.c:137
msgid "Upper limit of ruler"
-msgstr ""
+msgstr "Límite superior de la regla"
-#: gtk-custom-ruler.c:146
-#, fuzzy
+#: gtk2_ardour/gtk-custom-ruler.c:146
msgid "Position"
-msgstr "Audicionando"
+msgstr "Posición"
-#: gtk-custom-ruler.c:147
+#: gtk2_ardour/gtk-custom-ruler.c:147
msgid "Position of mark on the ruler"
-msgstr ""
+msgstr "Posición de la marca en la regla"
-#: gtk-custom-ruler.c:156
+#: gtk2_ardour/gtk-custom-ruler.c:156
msgid "Max Size"
-msgstr ""
+msgstr "Tamaño Máx."
-#: gtk-custom-ruler.c:157
+#: gtk2_ardour/gtk-custom-ruler.c:157
msgid "Maximum size of the ruler"
-msgstr ""
+msgstr "Tamaño máximo de la regla"
-#: gtk-custom-ruler.c:166
-#, fuzzy
+#: gtk2_ardour/gtk-custom-ruler.c:166
msgid "Show Position"
-msgstr "Por Posicin de regin"
+msgstr "Mostrar posición"
-#: gtk-custom-ruler.c:167
+#: gtk2_ardour/gtk-custom-ruler.c:167
msgid "Draw current ruler position"
-msgstr ""
+msgstr "Dibujar posición actual de la regla"
-#. end-of-file, other end closed or shutdown?
-#: imageframe_socket_handler.cc:127
+#: gtk2_ardour/imageframe_socket_handler.cc:126
msgid "Image Compositor Socket has been shutdown/closed"
-msgstr "Se desconect al Compositor de Imagen"
+msgstr "Se desconectó el Compositor de Imagen"
-#: imageframe_time_axis.cc:286
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:255
+#: gtk2_ardour/marker_time_axis.cc:206
+#: gtk2_ardour/route_time_axis.cc:449
+#: gtk2_ardour/theme_manager.cc:55
+msgid "Color"
+msgstr "Color"
+
+#: gtk2_ardour/imageframe_time_axis.cc:285
msgid "0.5 seconds"
-msgstr "Minutos:Segundos"
+msgstr "0.5 segundos"
-#: imageframe_time_axis.cc:287 marker_time_axis.cc:242
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:286
+#: gtk2_ardour/marker_time_axis.cc:236
msgid "1 seconds"
-msgstr "Minutos:Segundos"
+msgstr "1 segundo"
-#: imageframe_time_axis.cc:288 marker_time_axis.cc:243
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:287
+#: gtk2_ardour/marker_time_axis.cc:237
msgid "1.5 seconds"
-msgstr "Minutos:Segundos"
+msgstr "1,5 segundos"
-#: imageframe_time_axis.cc:289 marker_time_axis.cc:244
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:288
+#: gtk2_ardour/marker_time_axis.cc:238
msgid "2 seconds"
-msgstr "Minutos:Segundos"
+msgstr "2 segundos"
-#: imageframe_time_axis.cc:290 marker_time_axis.cc:245
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:289
+#: gtk2_ardour/marker_time_axis.cc:239
msgid "2.5 seconds"
-msgstr "Minutos:Segundos"
+msgstr "2,5 segundos"
-#: imageframe_time_axis.cc:291 marker_time_axis.cc:246
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:290
+#: gtk2_ardour/marker_time_axis.cc:240
msgid "3 seconds"
-msgstr "Minutos:Segundos"
+msgstr "3 segundos"
-#. duration_items.push_back(SeparatorElem()) ;
-#. duration_items.push_back(MenuElem (_("custom"), mem_fun(*this, &ImageFrameTimeAxis::set_marker_duration_custom))) ;
-#: imageframe_time_axis.cc:296 marker_time_axis.cc:251
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:295
+#: gtk2_ardour/marker_time_axis.cc:245
msgid "Duration (sec)"
-msgstr "normalizar regiones"
+msgstr "Duración (seg)"
-#: imageframe_time_axis.cc:301
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:300
msgid "Remove Frame"
-msgstr "Quitar Campo"
+msgstr "Quitar Cuadro"
-#: imageframe_time_axis.cc:304
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:303
msgid "Image Frame"
-msgstr "Cuadros"
+msgstr "Cuadros de la imagen"
-#: imageframe_time_axis.cc:305 marker_time_axis.cc:257
-#, fuzzy
+#: gtk2_ardour/imageframe_time_axis.cc:304
+#: gtk2_ardour/marker_time_axis.cc:251
msgid "Rename Track"
-msgstr "Renombrar"
+msgstr "Renombrar Pista"
-#: io_selector.cc:60 io_selector.cc:794
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:59
+#: gtk2_ardour/io_selector.cc:749
+#: gtk2_ardour/connection_editor.cc:85
+msgid "OK"
+msgstr "OK"
+
+#: gtk2_ardour/io_selector.cc:61
+#: gtk2_ardour/io_selector.cc:751
+#: gtk2_ardour/connection_editor.cc:60
+#: gtk2_ardour/connection_editor.cc:109
msgid "Rescan"
-msgstr "buscar de nuevo"
+msgstr "Buscar otra vez"
-#: io_selector.cc:68
+#: gtk2_ardour/io_selector.cc:69
msgid "%1 input"
msgstr "%1 entrada"
-#: io_selector.cc:70
+#: gtk2_ardour/io_selector.cc:71
msgid "%1 output"
msgstr "%1 salida"
-#: io_selector.cc:142 route_params_ui.cc:107
+#: gtk2_ardour/io_selector.cc:143
+#: gtk2_ardour/route_params_ui.cc:103
msgid "Inputs"
msgstr "Entradas"
-#: io_selector.cc:142 route_params_ui.cc:108
+#: gtk2_ardour/io_selector.cc:143
+#: gtk2_ardour/route_params_ui.cc:104
msgid "Outputs"
msgstr "Salidas"
-#: io_selector.cc:143
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:144
msgid "Add Input"
-msgstr "agregar entrada"
+msgstr "Agregar Entrada"
-#: io_selector.cc:143
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:144
msgid "Add Output"
-msgstr "agregar salida"
+msgstr "Agregar Salida"
-#: io_selector.cc:144
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:145
msgid "Remove Input"
-msgstr "Remover punto de sincron�"
+msgstr "Remover Entrada"
-#: io_selector.cc:144
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:145
msgid "Remove Output"
-msgstr "# Salidas"
+msgstr "Eliminar Salida"
-#: io_selector.cc:145
-#, fuzzy
+#: gtk2_ardour/io_selector.cc:146
msgid "Disconnect All"
-msgstr "Desconectar"
+msgstr "Desconectar Todo"
-#: io_selector.cc:159
+#: gtk2_ardour/io_selector.cc:160
msgid "Available connections"
-msgstr "Conecciones disponibles"
+msgstr "Conexiones disponibles"
-#: io_selector.cc:555 io_selector.cc:574
+#: gtk2_ardour/io_selector.cc:550
+#: gtk2_ardour/io_selector.cc:561
msgid "There are no more JACK ports available."
-msgstr ""
-
-#: io_selector.cc:649 io_selector.cc:676 io_selector.cc:729
-msgid "port"
-msgstr "conector"
+msgstr "No hay más puertos de JACK disponibles."
-#: io_selector.cc:798
+#: gtk2_ardour/io_selector.cc:755
msgid "ardour: "
-msgstr ""
+msgstr "ardour: "
-#: keyboard.cc:299
-msgid "KeyboardTarget: keyname \"%1\" is unknown."
-msgstr ""
+#: gtk2_ardour/keyboard.cc:84
+#: gtk2_ardour/keyboard.cc:621
+msgid "Unknown"
+msgstr "Desconocido"
-#: keyboard.cc:525
-msgid ""
-"Your system is completely broken - NumLock uses \"%1\"as its modifier. This "
-"is madness - see the man page for xmodmap to find out how to fix this."
-msgstr ""
+#: gtk2_ardour/keyboard.cc:502
+msgid "your own"
+msgstr "tu propia disposición"
-#: keyboard.cc:533
-msgid ""
-"Your system generates \"%1\" when the NumLock key is pressed. This can cause "
-"problems when editing so Ardour will use %2 to mean Meta rather than %1"
-msgstr ""
+#: gtk2_ardour/keyboard.cc:566
+#: gtk2_ardour/keyboard.cc:590
+msgid "Default keybindings not found - Ardour will be hard to use!"
+msgstr "No se encontraron las combinaciones de teclas por defecto - ¡Ardour será difícil de usar!"
-#: keyboard.cc:594
-msgid "You have %1 keys bound to \"mod1\""
-msgstr "Tiene %1 teclas asignadas a \"mod1\""
+#: gtk2_ardour/keyboard.cc:569
+#: gtk2_ardour/keyboard.cc:593
+msgid "Key bindings file \"%1\" not found. Default bindings used instead"
+msgstr "No se pudo encontrar el archivo de combinaciones de teclas \"%1\". Se usarán las combinaciones de teclas por defecto."
-#: keyboard.cc:609
-msgid "You have %1 keys bound to \"mod2\""
-msgstr "Tiene %1 teclas asignadas a \"mod2\""
+#: gtk2_ardour/keyboard.cc:632
+msgid "Ardour key bindings file not found at \"%1\" or contains errors."
+msgstr "No se pudo encontrar el archivo de combinaciones de teclas en \"%1\" o éste contiene errores."
-#: keyboard.cc:624
-msgid "You have %1 keys bound to \"mod3\""
-msgstr "Tiene %1 teclas asignadas a \"mod3\""
+#: gtk2_ardour/keyeditor.cc:29
+msgid "Shortcut Editor"
+msgstr "Editor de atajos"
-#: keyboard.cc:639
-msgid "You have %1 keys bound to \"mod4\""
-msgstr "Tiene %1 teclas asignadas a \"mod4\""
+#: gtk2_ardour/keyeditor.cc:30
+msgid "Remove shortcut"
+msgstr "Eliminar atajo"
-#: keyboard.cc:654
-msgid "You have %1 keys bound to \"mod5\""
-msgstr "Tiene %1 teclas asignadas a \"mod5\""
+#: gtk2_ardour/keyeditor.cc:40
+msgid "Action"
+msgstr "Acción"
-#: location_ui.cc:48 location_ui.cc:51
-#, fuzzy
-msgid "Set"
-msgstr "Selecionar"
+#: gtk2_ardour/keyeditor.cc:41
+msgid "Shortcut"
+msgstr "Atajo"
-#: location_ui.cc:49 location_ui.cc:52
-msgid "Go"
+#: gtk2_ardour/keyeditor.cc:61
+msgid "Select an action, then press the key(s) to (re)set its shortcut"
+msgstr "Seleccione una acción, luego presione la/s tecla/s para grabar el atajo."
+
+#: gtk2_ardour/keyeditor.cc:267
+msgid "Command-"
msgstr ""
-#: location_ui.cc:55
+# se refiere a la tecla 'Option'
+#: gtk2_ardour/keyeditor.cc:268
+msgid "Option-"
+msgstr "Opción-"
+
+# se refiere a la tecla 'shift', no traducir
+#: gtk2_ardour/keyeditor.cc:269
+msgid "Shift-"
+msgstr "Shift-"
+
+#: gtk2_ardour/keyeditor.cc:270
+msgid "Control-"
+msgstr "Control-"
+
+#: gtk2_ardour/location_ui.cc:49
+#: gtk2_ardour/location_ui.cc:52
+msgid "Use PH"
+msgstr "Usar Cursor"
+
+#: gtk2_ardour/location_ui.cc:50
+#: gtk2_ardour/location_ui.cc:53
+msgid "Go"
+msgstr "Ir"
+
+#: gtk2_ardour/location_ui.cc:56
msgid "CD"
msgstr "CD"
-#: location_ui.cc:58
+#: gtk2_ardour/location_ui.cc:59
msgid "SCMS"
msgstr ""
-#: location_ui.cc:59
+#: gtk2_ardour/location_ui.cc:60
msgid "Pre-Emphasis"
-msgstr ""
+msgstr "Pre-Énfasis"
-#: location_ui.cc:570
-#, fuzzy
-msgid "Add New Location"
-msgstr "Agregar nueva localizacin"
+#: gtk2_ardour/location_ui.cc:85
+#: gtk2_ardour/location_ui.cc:86
+msgid "Set value to Playhead"
+msgstr "Ajustar valor a Cursor"
-#: location_ui.cc:571
-msgid "Add New Range"
-msgstr "Agregar nueva regin"
+#: gtk2_ardour/location_ui.cc:443
+msgid "You cannot put a CD marker at the start of the session"
+msgstr "No puede colocar una marca de CD al inicio de la sesión"
-#: location_ui.cc:575
-msgid "ardour: locations"
-msgstr "ardour: localizaciones"
+#: gtk2_ardour/location_ui.cc:624
+msgid "Add New Location"
+msgstr "Agregar Lugar Nuevo"
-#: location_ui.cc:576
-msgid "ardour_locations"
-msgstr ""
+#: gtk2_ardour/location_ui.cc:625
+msgid "Add New Range"
+msgstr "Agregar Rango Nuevo"
-#: location_ui.cc:604
-#, fuzzy
+#: gtk2_ardour/location_ui.cc:663
msgid "Location (CD Index) Markers"
-msgstr "Marcadores de localizacin"
+msgstr "Marcas de Índice de CD"
-#: location_ui.cc:624
-#, fuzzy
+#: gtk2_ardour/location_ui.cc:683
msgid "Range (CD Track) Markers"
-msgstr "Marcadores de intervalo"
+msgstr "Marcas de rango (Pistas de CD)"
-#: location_ui.cc:790
-#, fuzzy
+#: gtk2_ardour/location_ui.cc:870
msgid "add range marker"
-msgstr "agregar un marcador de regin"
-
-#: main.cc:72
-msgid "ardour is killing itself for a clean exit\n"
-msgstr "ardour se est�cerrando limpiamente\n"
+msgstr "agregar una marca de rango"
-#: main.cc:81
-msgid "stopping user interface\n"
-msgstr "deteniendo interfase visual\n"
+#: gtk2_ardour/main.cc:191
+msgid "cannot create user ardour folder %1 (%2)"
+msgstr "No se pudo crear la carpeta de ardour de usuario %1 (%2)"
-#. XXX its doubtful that snprintf() is async-safe
-#: main.cc:100
-#, c-format
-msgid "%d(%d): received signal %d\n"
-msgstr ""
+#: gtk2_ardour/main.cc:199
+msgid "cannot open pango.rc file %1"
+msgstr "no se pudo abrir el archivo pango.rc %1"
-#: main.cc:180
-msgid "cannot become new process group leader (%1)"
-msgstr ""
-
-#: main.cc:207
-msgid "cannot setup signal handling for %1"
-msgstr ""
+#: gtk2_ardour/main.cc:247
+msgid "SIGPIPE received - JACK has probably died"
+msgstr "SIGPIPE recibido - Probablemente se haya detenido JACK"
-#: main.cc:218
-msgid "cannot set default signal mask (%1)"
-msgstr ""
-
-#: main.cc:248
-#, fuzzy
-msgid ""
-"Without a UI style file, ardour will look strange.\n"
-" Please set ARDOUR2_UI_RC to point to a valid UI style file"
-msgstr ""
-"Sin un archivo de interfase visual, Ardour no se \n"
-"ver�correctamente. Apunte ARDOUR_UI_RC a un archivo v�ido"
-
-#: main.cc:270
-#, fuzzy
-msgid "Ardour could not connect to JACK."
-msgstr "No se pudo conectar a JACK con el nombre \"%1\""
-
-#: main.cc:274
-#, fuzzy
-msgid ""
-"There are several possible reasons:\n"
-"\n"
-"1) JACK is not running.\n"
-"2) JACK is running as another user, perhaps root.\n"
-"3) There is already another client called \"ardour\".\n"
-"\n"
-"Please consider the possibilities, and perhaps (re)start JACK."
-msgstr ""
-"Ardour no pudo conectarse a JACK.\n"
-"Hay varias razones posibles:\n"
-"\n"
-"1) JACK no est�corriendo.\n"
-"2) JACK est�corriendo bajo otro nombre de usuario,tal vez root.\n"
-"3) Ya hay otro cliente JACK corriendo con el nombre \"ardour\".\n"
-"\n"
-"Considere estas posibilidades y o reinicie a JACK.\n"
-
-#: main.cc:304
-msgid "could not load command line session \"%1\""
-msgstr "no se pudo cargar desde l�ea de comando a la sesin \"%1\""
-
-#. it wasn't new, but we require a new session
-#: main.cc:324
-msgid ""
-"\n"
-"\n"
-"A session named \"%1\" already exists.\n"
-"To avoid this message, start ardour as \"ardour %1"
-msgstr ""
-
-#: main.cc:335
-msgid ""
-"\n"
-"\n"
-"No session named \"%1\" exists.\n"
-"To create it from the command line, start ardour as \"ardour --new %1"
-msgstr ""
-
-#: main.cc:399
+#: gtk2_ardour/main.cc:306
msgid "Ardour/GTK "
-msgstr ""
+msgstr "Ardour/GTK "
-#: main.cc:401
+#: gtk2_ardour/main.cc:308
msgid ""
"\n"
" (built using "
msgstr ""
+"\n"
+" (compilado usando"
-#: main.cc:405
-#, fuzzy
-msgid " with libardour "
-msgstr " corriendo con libardour "
-
-#: main.cc:410
+#: gtk2_ardour/main.cc:311
msgid " and GCC version "
-msgstr ""
+msgstr "y GCC versión"
-#: main.cc:420
-msgid "Copyright (C) 1999-2006 Paul Davis"
-msgstr ""
+#: gtk2_ardour/main.cc:321
+msgid "Copyright (C) 1999-2008 Paul Davis"
+msgstr "Copyright (C) 1999-2008 Paul Davis"
-#: main.cc:421
-msgid ""
-"Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel "
-"Baker"
-msgstr ""
+#: gtk2_ardour/main.cc:322
+msgid "Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker"
+msgstr "Derechos reservados de algunas porciones (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker"
-#: main.cc:423
+#: gtk2_ardour/main.cc:324
msgid "Ardour comes with ABSOLUTELY NO WARRANTY"
-msgstr "Ardour no ofrece ningn tipo de garant�"
+msgstr "Ardour no ofrece ningún tipo de garantía"
-#: main.cc:424
+#: gtk2_ardour/main.cc:325
msgid "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
msgstr ""
-#: main.cc:425
+#: gtk2_ardour/main.cc:326
msgid "This is free software, and you are welcome to redistribute it "
-msgstr "Este software es gratuito.Usted puede distribuirlo "
+msgstr "Este es software libre. Usted puede distribuirlo "
-#: main.cc:426
-#, fuzzy
+#: gtk2_ardour/main.cc:327
msgid "under certain conditions; see the source for copying conditions."
-msgstr "bajo ciertas condiciones; lea el archivo COPYING para m� detalles"
+msgstr "bajo ciertas condiciones; lea el código para conocer las condiciones de copia."
-#: main.cc:435
-msgid "could not create ARDOUR GUI"
-msgstr "no se pudo crear la interfase visual de Ardour"
-
-#: main.cc:453
-msgid "Could not connect to JACK server as \"%1\""
-msgstr "No se pudo conectar a JACK con el nombre \"%1\""
+#: gtk2_ardour/main.cc:336
+msgid "Cannot install SIGPIPE error handler"
+msgstr ""
-#: main.cc:456
-msgid "could not initialize Ardour."
-msgstr "no se pudo iniciar a Ardour."
+#: gtk2_ardour/main.cc:342
+msgid "could not create ARDOUR GUI"
+msgstr "no se pudo crear la interfaz visual de Ardour"
-#: marker.cc:244
-#, fuzzy
+#: gtk2_ardour/marker.cc:245
msgid "MarkerText"
-msgstr "Marcas"
+msgstr "Texto de la marca"
-#: marker_time_axis.cc:254
-#, fuzzy
+#: gtk2_ardour/marker_time_axis.cc:248
msgid "Remove Marker"
-msgstr "quitar marcador"
-
-#: marker_time_axis.cc:256
-#, fuzzy
-msgid "Marker"
-msgstr "Marcas"
-
-#: meter_bridge.cc:78
-msgid "ardour: meter bridge"
-msgstr "ardour: vmetro"
-
-#: meter_bridge.cc:79
-msgid "ardour_meter_bridge"
-msgstr ""
+msgstr "Quitar Marca"
-#: meter_bridge_strip.cc:80 meter_bridge_strip.cc:94
-#, c-format
-msgid "# of %u-sample overs"
-msgstr ""
+#: gtk2_ardour/midi_port_dialog.cc:22
+msgid "Port name"
+msgstr "Nombre del puerto"
-#: meter_bridge_strip.cc:222
-#, fuzzy
-msgid "New Name for Meter:"
-msgstr "Nuevo nombre para vmetro"
+#: gtk2_ardour/mixer_strip.cc:88
+#: gtk2_ardour/mixer_strip.cc:109
+#: gtk2_ardour/mixer_strip.cc:491
+#: gtk2_ardour/route_time_axis.cc:173
+msgid "Record"
+msgstr "Grabar"
-#: mixer_strip.cc:95 mixer_strip.cc:140 mixer_strip.cc:1227
+#: gtk2_ardour/mixer_strip.cc:98
+#: gtk2_ardour/mixer_strip.cc:119
+#: gtk2_ardour/mixer_strip.cc:384
+#: gtk2_ardour/mixer_strip.cc:1296
msgid "pre"
-msgstr ""
+msgstr "pre"
-#: mixer_strip.cc:96 mixer_strip.cc:822
+#: gtk2_ardour/mixer_strip.cc:99
+#: gtk2_ardour/mixer_strip.cc:120
+#: gtk2_ardour/mixer_strip.cc:498
+#: gtk2_ardour/mixer_strip.cc:857
msgid "Comments"
-msgstr ""
+msgstr "Notas"
-#: mixer_strip.cc:119
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:147
msgid "Input"
-msgstr "Entradas"
-
-#: mixer_strip.cc:136 mixer_strip.cc:1223
-#, fuzzy
-msgid "input"
-msgstr "%1 entrada"
+msgstr "Entrada"
-#: mixer_strip.cc:144 mixer_strip.cc:1231
-#, fuzzy
-msgid "post"
-msgstr "conector"
+#: gtk2_ardour/mixer_strip.cc:148
+msgid "Click to choose inputs"
+msgstr "Pulse para elegir entradas"
-#. TRANSLATORS: this string should be longest of the strings
-#. used to describe meter points. In english, its "input".
-#.
-#: mixer_strip.cc:152
-msgid "tupni"
-msgstr ""
+#: gtk2_ardour/mixer_strip.cc:154
+msgid "Click to choose outputs"
+msgstr "Pulse para elegir salidas"
-#: mixer_strip.cc:207
-#, fuzzy
-msgid "Varispeed"
-msgstr "velocidad"
+#: gtk2_ardour/mixer_strip.cc:159
+msgid "Select metering point"
+msgstr "Seleccione punto de medición"
-#: mixer_strip.cc:233 mixer_strip.cc:836
-msgid "Click to Add/Edit Comments"
-msgstr ""
+# it's just a meaningless string
+#: gtk2_ardour/mixer_strip.cc:167
+msgid "tupni"
+msgstr "tupni"
-#: mixer_strip.cc:374
-msgid "unknown strip width \"%1\" in XML GUI information"
-msgstr ""
+#: gtk2_ardour/mixer_strip.cc:200
+msgid "Mix group"
+msgstr "Grupo de mezcla"
-#: mixer_strip.cc:417
-#, fuzzy
-msgid "record"
-msgstr "Grabar"
+#: gtk2_ardour/mixer_strip.cc:363
+msgid "Varispeed"
+msgstr "Varíe-Velocidad"
-#: mixer_strip.cc:418 region_editor.cc:47
-msgid "mute"
-msgstr "mudo"
+#: gtk2_ardour/mixer_strip.cc:380
+#: gtk2_ardour/mixer_strip.cc:1292
+#: gtk2_ardour/option_editor.cc:762
+msgid "input"
+msgstr "entrada"
-#: mixer_strip.cc:419
-msgid "solo"
-msgstr "solo"
+#: gtk2_ardour/mixer_strip.cc:388
+#: gtk2_ardour/mixer_strip.cc:1300
+msgid "post"
+msgstr "post"
-#: mixer_strip.cc:422
-msgid "comments"
-msgstr ""
+#: gtk2_ardour/mixer_strip.cc:396
+#: gtk2_ardour/mixer_strip.cc:873
+msgid "Click to Add/Edit Comments"
+msgstr "Pulse para Añadir/Editar Notas"
-#: mixer_strip.cc:424
-msgid "*comments*"
-msgstr ""
+#: gtk2_ardour/mixer_strip.cc:501
+#: gtk2_ardour/mixer_strip.cc:854
+msgid "*Comments*"
+msgstr "*Notas*"
-#: mixer_strip.cc:438
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:514
msgid "Rec"
-msgstr "buscar de nuevo"
-
-#: mixer_strip.cc:439
-msgid "M"
-msgstr ""
+msgstr "Grb"
-#: mixer_strip.cc:440
+#: gtk2_ardour/mixer_strip.cc:517
msgid "S"
msgstr ""
-#: mixer_strip.cc:443 mixer_strip.cc:830
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:521
+#: gtk2_ardour/mixer_strip.cc:867
msgid "Cmt"
-msgstr "cortar"
+msgstr "Nts"
-#: mixer_strip.cc:445 mixer_strip.cc:828
+#: gtk2_ardour/mixer_strip.cc:524
+#: gtk2_ardour/mixer_strip.cc:864
msgid "*Cmt*"
-msgstr ""
+msgstr "Notas"
-#: mixer_strip.cc:483 mixer_strip.cc:549 redirect_box.cc:1006
+#: gtk2_ardour/mixer_strip.cc:564
+#: gtk2_ardour/mixer_strip.cc:630
+#: gtk2_ardour/redirect_box.cc:1150
msgid "Not connected to JACK - no I/O changes are possible"
-msgstr ""
+msgstr "No está conectado a JACK - No es posible realizar cambios de E/S"
-#: mixer_strip.cc:560
-msgid "Track"
-msgstr "Pista"
-
-#: mixer_strip.cc:588 mixer_strip.cc:604
+#: gtk2_ardour/mixer_strip.cc:664
+#: gtk2_ardour/mixer_strip.cc:680
msgid "could not register new ports required for that connection"
-msgstr ""
+msgstr "no se pudieron registrar los puertos nuevos requeridos para esa conexión"
-#: mixer_strip.cc:747
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:783
msgid " Input"
-msgstr "# Entradas"
+msgstr "Entrada"
-#: mixer_strip.cc:750
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:786
msgid "I"
-msgstr "ENTRADA"
+msgstr "E"
-#: mixer_strip.cc:820
-msgid "*Comments*"
-msgstr ""
+#: gtk2_ardour/mixer_strip.cc:806
+msgid "O"
+msgstr "S"
-#: mixer_strip.cc:859
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:909
msgid ": comment editor"
-msgstr "no se pudo iniciar el editor"
+msgstr ": editor de notas"
+
+#: gtk2_ardour/mixer_strip.cc:978
+#: gtk2_ardour/route_time_axis.cc:308
+msgid "No group"
+msgstr "Sin grupo"
-#: mixer_strip.cc:953
+#: gtk2_ardour/mixer_strip.cc:1004
msgid "Grp"
-msgstr ""
+msgstr "Grp"
-#: mixer_strip.cc:956
+#: gtk2_ardour/mixer_strip.cc:1007
msgid "~G"
msgstr ""
-#: mixer_strip.cc:1004
-#, fuzzy
+#: gtk2_ardour/mixer_strip.cc:1049
+msgid "Save As Template"
+msgstr "Guardar plantilla..."
+
+#: gtk2_ardour/mixer_strip.cc:1056
msgid "Invert Polarity"
-msgstr "polaridad"
+msgstr "Invertir polaridad"
-#: mixer_ui.cc:85
-msgid "Strips"
-msgstr "Pistas"
+#: gtk2_ardour/mixer_strip.cc:1059
+msgid "Protect against denormals"
+msgstr "Proteger contra denormals"
-#: mixer_ui.cc:110
-#, fuzzy
-msgid "Group"
-msgstr "Grupos de Mixer"
+#: gtk2_ardour/mixer_strip.cc:1066
+#: gtk2_ardour/route_time_axis.cc:455
+msgid "Remote Control ID"
+msgstr "ID de Control Remoto"
-#: mixer_ui.cc:211 mixer_ui.cc:370
-msgid "ardour: mixer"
-msgstr ""
+#: gtk2_ardour/mixer_ui.cc:88
+msgid "Strips"
+msgstr "Canales"
-#: mixer_ui.cc:212
-msgid "ardour_mixer"
-msgstr "ardour_mixer"
+#: gtk2_ardour/mixer_ui.cc:114
+msgid "Group"
+msgstr "Grupo"
-#: mixer_ui.cc:346
-msgid "ardour: mixer: "
-msgstr ""
+#: gtk2_ardour/mixer_ui.cc:214
+#: gtk2_ardour/mixer_ui.cc:446
+#: gtk2_ardour/mixer_ui.cc:478
+msgid "Mixer"
+msgstr "Mezclador"
-#: mixer_ui.cc:573
+#: gtk2_ardour/mixer_ui.cc:308
+#: gtk2_ardour/mixer_ui.cc:309
msgid "signal"
-msgstr "seal"
+msgstr "señal"
-#: mixer_ui.cc:723
+#: gtk2_ardour/mixer_ui.cc:974
msgid "track display list item for renamed strip not found!"
msgstr ""
-#
-#: new_session_dialog.cc:39
-#, fuzzy
-msgid "New Session Name :"
-msgstr "Nombre de sesin:"
+#: gtk2_ardour/nag.cc:15
+msgid "Support Ardour Development"
+msgstr "Colabore con el desarrollo del Ardour"
+
+#: gtk2_ardour/nag.cc:16
+msgid "I'd like to make a one-time donation"
+msgstr "Quisiera hacer una donación de una sola vez"
+
+#: gtk2_ardour/nag.cc:17
+msgid "Tell me more about becoming a subscriber"
+msgstr "Dígame más sobre cómo hacerme suscriptor"
+
+#: gtk2_ardour/nag.cc:18
+msgid "I'm already a subscriber!"
+msgstr "¡Ya soy un suscriptor!"
+
+#: gtk2_ardour/nag.cc:19
+msgid "Ask about this the next time I export"
+msgstr "Pregunte por esto la próxima vez que exporte un archivo"
+
+#: gtk2_ardour/nag.cc:20
+msgid "Never ever ask me about this again"
+msgstr "Nunca nunca me pregunte acerca de esto otra vez"
+
+#: gtk2_ardour/nag.cc:23
+msgid ""
+"Congratulations on your session export.\n"
+"\n"
+"It looks as if you may already be a subscriber. If so, thanks, and sorry\n"
+"to bother you again about this - I'm working on improving our subscriber system\n"
+"so that I don't have to keep annoying you with this message.\n"
+"\n"
+"If you're not a subscriber, perhaps you might consider supporting my work\n"
+"on Ardour with either a one-time donation or subscription. Nothing will \n"
+"happen if you choose not to do so. However Ardour's continuing development\n"
+"relies on a stable, sustainable income stream. Thanks for using Ardour!"
+msgstr ""
+"Felicitaciones por tu sesión exportada.\n"
+"\n"
+"Al parecer ya eres un subscriptor. Si es así, gracias, y disculpas por\n"
+"incomodar de nuevo con esto - Estoy trabajando en el mejoramiento de\n"
+"nuestro sistema de subscripción así no tengo que continuar molestando\n"
+"con este mensaje.\n"
+"\n"
+"Si no eres un subscriptor, quizás podrías considerar colaborar con mi\n"
+"trabajo en Ardour con una donación eventual o con subscribiéndote.\n"
+"Nada pasará si decides no hacerlo. De todos modos, el desarrollo\n"
+"continuo de Ardour depende de una flujo de ingresos estable y sostenible.\n"
+"¡Gracias por usar Ardour!"
-#: new_session_dialog.cc:41
-msgid "Create Session Directory In :"
+#: gtk2_ardour/nag.cc:32
+msgid ""
+"Congratulations on your session export.\n"
+"\n"
+"I hope you find Ardour a useful tool. I'd like to ask you to consider supporting\n"
+"its development with either a one-time donation or subscription. Nothing\n"
+"will happen if you choose not to do so. However Ardour's continuing development\n"
+"relies on a stable, sustainable income stream. Thanks for using Ardour!"
msgstr ""
+"Felicitaciones por tu sesión exportada.\n"
+"\n"
+"Espero que encuentres en Ardour una herramienta útil. Me gustaría pedirte\n"
+"que consideres colaborar en su desarrollo con una donación eventual.\n"
+"Nada pasará si eliges no hacerlo. De cualquier modo, el desarrollo continuo\n"
+"de Ardour depende en un flujo de ingresos estable y sostenible.\n"
+"¡Gracias por usar Ardour!"
+
+#: gtk2_ardour/new_session_dialog.cc:50
+msgid "Name :"
+msgstr "Nombre :"
+
+#: gtk2_ardour/new_session_dialog.cc:54
+#: gtk2_ardour/new_session_dialog.cc:55
+#: gtk2_ardour/new_session_dialog.cc:56
+#: gtk2_ardour/new_session_dialog.cc:57
+msgid "channels"
+msgstr "canales"
+
+#: gtk2_ardour/new_session_dialog.cc:75
+msgid "<b>Busses</b>"
+msgstr "<b>Buses</b>"
-#: new_session_dialog.cc:43
-#, fuzzy
-msgid "Use Session Template :"
-msgstr "usar esquema existente"
+#: gtk2_ardour/new_session_dialog.cc:76
+msgid "<b>Inputs</b>"
+msgstr "<b>Entradas</b>"
-#: new_session_dialog.cc:45
-#, fuzzy
-msgid "Channel Count"
-msgstr "Cancelar importacin"
+#: gtk2_ardour/new_session_dialog.cc:77
+msgid "<b>Outputs</b>"
+msgstr "<b>Salidas</b>"
-#: new_session_dialog.cc:46
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:79
+msgid "Create Folder In :"
+msgstr "Crear carpeta en :"
+
+#: gtk2_ardour/new_session_dialog.cc:81
+msgid "Template :"
+msgstr "Plantilla :"
+
+#: gtk2_ardour/new_session_dialog.cc:83
msgid "Create Monitor Bus"
-msgstr "Control de Salidas"
+msgstr "Crear bus de monitorización"
-#: new_session_dialog.cc:53
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:90
msgid "Create Master Bus"
-msgstr "usar salidas Master"
+msgstr "Crear bus Master (Principal)"
-#: new_session_dialog.cc:55
-#, fuzzy
-msgid "Automatically Connect Inputs"
-msgstr "conectar autom�icamente entradas de pistas a entradas f�icas"
+#: gtk2_ardour/new_session_dialog.cc:92
+msgid "Automatically Connect to Physical Inputs"
+msgstr "Conectar a entradas físicas automáticamente"
-#: new_session_dialog.cc:56 new_session_dialog.cc:67
-#, fuzzy
-msgid "Port Limit"
-msgstr "Olvidarlo"
+#: gtk2_ardour/new_session_dialog.cc:93
+#: gtk2_ardour/new_session_dialog.cc:106
+msgid "Use only"
+msgstr "Usar solamente"
-#: new_session_dialog.cc:64
-#, fuzzy
-msgid "<b>Track/Bus Inputs</b>"
-msgstr "Pistas/Buses"
-
-#: new_session_dialog.cc:66
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:105
msgid "Automatically Connect Outputs"
-msgstr "conectar pistas manualmente"
+msgstr "Conectar salidas de pistas automáticamente"
-#: new_session_dialog.cc:75
-msgid "Connect to Master Bus"
-msgstr ""
+#: gtk2_ardour/new_session_dialog.cc:114
+msgid "... to Master Bus"
+msgstr "...al Bus Master"
-#: new_session_dialog.cc:76
-msgid "Connect to Physical Outputs"
-msgstr ""
+#: gtk2_ardour/new_session_dialog.cc:115
+msgid "... to Physical Outputs"
+msgstr "...a Salidas Físicas"
-#: new_session_dialog.cc:80
-#, fuzzy
-msgid "<b>Track/Bus Outputs</b>"
-msgstr "Salidas"
-
-#: new_session_dialog.cc:83
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:121
msgid "Advanced Options"
-msgstr "Opciones Editor"
-
-#
-#: new_session_dialog.cc:91
-#, fuzzy
-msgid "Open Recent Session"
-msgstr "Abrir sesin"
-
-#
-#: new_session_dialog.cc:127
-#, fuzzy
-msgid "Open Session File :"
-msgstr "Abrir sesin"
-
-#: new_session_dialog.cc:274
-#, fuzzy
-msgid "New Session"
-msgstr "Sesin"
+msgstr "Opciones Avanzadas"
-#
-#: new_session_dialog.cc:276
-#, fuzzy
-msgid "Open Session"
-msgstr "Abrir sesin"
+#: gtk2_ardour/new_session_dialog.cc:129
+msgid "Recent:"
+msgstr "Recientes:"
-#: new_session_dialog.cc:281
-#, fuzzy
-msgid "ardour: session control"
-msgstr "ardour: guardar sesin?"
+#: gtk2_ardour/new_session_dialog.cc:166
+msgid "Browse:"
+msgstr "Explorar:"
-#: new_session_dialog.cc:310
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:378
+msgid "Session Control"
+msgstr "Control de Sesión"
+
+#: gtk2_ardour/new_session_dialog.cc:418
msgid "select template"
-msgstr "-esquema"
+msgstr "seleccione la plantilla"
-#: new_session_dialog.cc:316
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:424
msgid "select session file"
-msgstr "Reproducir regin seleccionada cont�uamente"
+msgstr "seleccione el archivo de sesión"
-#: new_session_dialog.cc:325
-#, fuzzy
+#: gtk2_ardour/new_session_dialog.cc:433
msgid "select directory"
-msgstr "Reproducir regin seleccionada cont�uamente"
+msgstr "seleccione el directorio"
-#: option_editor.cc:76
-msgid "SMPTE offset is negative"
-msgstr ""
+#: gtk2_ardour/new_session_dialog.cc:496
+msgid "Audio Setup"
+msgstr "Configuración de Audio"
-#: option_editor.cc:102
-msgid "ardour: options editor"
-msgstr "ardour: opciones editor"
+#: gtk2_ardour/new_session_dialog.cc:520
+msgid "New Session"
+msgstr "Crear nueva sesión"
+
+#: gtk2_ardour/new_session_dialog.cc:525
+msgid "Open Session"
+msgstr "Abrir sesión"
+
+#: gtk2_ardour/option_editor.cc:82
+msgid "Limit undo history"
+msgstr "Limitar historial de Deshacer"
+
+#: gtk2_ardour/option_editor.cc:83
+msgid "Save undo history"
+msgstr "Guardar historial de Deshacer"
+
+#: gtk2_ardour/option_editor.cc:88
+msgid "SMPTE offset is negative"
+msgstr "La compensación de SMPTE es negativa"
-#: option_editor.cc:103
-msgid "ardour_option_editor"
+#: gtk2_ardour/option_editor.cc:89
+msgid "Timecode source is sample-clock synced"
msgstr ""
-#: option_editor.cc:127
+#: gtk2_ardour/option_editor.cc:98
+msgid "Add new MIDI port"
+msgstr "Añadir nuevo puerto MIDI"
+
+#: gtk2_ardour/option_editor.cc:154
msgid "Paths/Files"
-msgstr "Carpetas/Archivos"
+msgstr "Rutas/Archivos"
-#: option_editor.cc:128
+#: gtk2_ardour/option_editor.cc:155
msgid "Kbd/Mouse"
-msgstr "Teclado/Mouse"
+msgstr "Teclado/Ratón"
-#: option_editor.cc:131
-msgid "Layers & Fades"
-msgstr ""
+#: gtk2_ardour/option_editor.cc:159
+msgid "Misc"
+msgstr "Misc"
-#: option_editor.cc:135
+#: gtk2_ardour/option_editor.cc:162
msgid "MIDI"
msgstr "MIDI"
-#: option_editor.cc:177
-msgid "24 FPS"
-msgstr ""
+#: gtk2_ardour/option_editor.cc:232
+msgid "session RAID path"
+msgstr "ubicación de archivos de sesión"
+
+#: gtk2_ardour/option_editor.cc:248
+#: gtk2_ardour/option_editor.cc:254
+#: gtk2_ardour/option_editor.cc:988
+#: gtk2_ardour/option_editor.cc:1008
+msgid "internal"
+msgstr "interno"
+
+#: gtk2_ardour/option_editor.cc:281
+msgid "Font Scaling"
+msgstr "Escalamiento de las fuentes"
+
+#: gtk2_ardour/option_editor.cc:295
+msgid "Short crossfade length (msecs)"
+msgstr "Longitud del fundido cruzado corto (mseg)"
+
+#: gtk2_ardour/option_editor.cc:307
+msgid "Destructive crossfade length (msecs)"
+msgstr "Longitud del fundido cruzado destructivo (mseg)"
+
+#: gtk2_ardour/option_editor.cc:326
+msgid "History depth (commands)"
+msgstr "Profundidad del historial (comandos)"
+
+#: gtk2_ardour/option_editor.cc:347
+msgid "Saved history depth (commands)"
+msgstr "Profundidad del historial guardado (comandos)"
-#: option_editor.cc:179
-msgid "25 FPS"
+#: gtk2_ardour/option_editor.cc:445
+msgid "SMPTE Offset"
msgstr ""
-#: option_editor.cc:181
-msgid "30 FPS"
+#: gtk2_ardour/option_editor.cc:518
+msgid "Inbound MMC Device ID"
msgstr ""
-#: option_editor.cc:187
-msgid "30 FPS drop"
+#: gtk2_ardour/option_editor.cc:528
+msgid "Outbound MMC Device ID"
msgstr ""
-#: option_editor.cc:244
-msgid "session RAID path"
-msgstr "ubicacin de archivos de sesin"
+#: gtk2_ardour/option_editor.cc:538
+msgid "Startup program change"
+msgstr ""
-#: option_editor.cc:249
-#, fuzzy
-msgid "Soundfile Search Paths"
-msgstr "Biblioteca de audio"
+#: gtk2_ardour/option_editor.cc:577
+msgid "Port"
+msgstr "Puerto"
-#: option_editor.cc:254
-#, fuzzy
-msgid "Paths"
-msgstr "Carpetas/Archivos"
+#: gtk2_ardour/option_editor.cc:581
+msgid "Offline"
+msgstr "Fuera de línea"
-#: option_editor.cc:268 option_editor.cc:274 option_editor.cc:723
-#: option_editor.cc:750
-msgid "internal"
-msgstr "interno"
+#: gtk2_ardour/option_editor.cc:585
+msgid ""
+"Trace\n"
+"Input"
+msgstr "Vigilar Entrada MIDI"
-#: option_editor.cc:287
-msgid "Short crossfade length (msecs)"
-msgstr ""
+#: gtk2_ardour/option_editor.cc:589
+msgid ""
+"Trace\n"
+"Output"
+msgstr "Vigilar Salida MIDI"
-#: option_editor.cc:299
-msgid "Destructive crossfade length (msecs)"
-msgstr ""
+#: gtk2_ardour/option_editor.cc:593
+msgid "MTC"
+msgstr "MTC"
-#: option_editor.cc:367
-msgid "SMPTE Frames/second"
-msgstr "SMPTE Cuadros/segundo"
+#: gtk2_ardour/option_editor.cc:597
+msgid "MMC"
+msgstr "MMC"
-#: option_editor.cc:368
-msgid "SMPTE Offset"
+#: gtk2_ardour/option_editor.cc:601
+msgid ""
+"MIDI Parameter\n"
+"Control"
msgstr ""
+"Parámetro MIDI\n"
+"Control"
-#: option_editor.cc:462 option_editor.cc:469 option_editor.cc:472
-#: option_editor.cc:618
-#, fuzzy
+#: gtk2_ardour/option_editor.cc:640
+#: gtk2_ardour/option_editor.cc:647
+#: gtk2_ardour/option_editor.cc:650
+#: gtk2_ardour/option_editor.cc:863
msgid "online"
-msgstr "linear"
+msgstr "en línea"
-#. remember, we have to handle the i18n case where the relative
-#. lengths of the strings in language N is different than in english.
-#.
-#: option_editor.cc:469 option_editor.cc:470 option_editor.cc:615
-#, fuzzy
+#: gtk2_ardour/option_editor.cc:647
+#: gtk2_ardour/option_editor.cc:648
+#: gtk2_ardour/option_editor.cc:860
msgid "offline"
-msgstr "linear"
+msgstr "fuera de línea"
-#: option_editor.cc:670
+#: gtk2_ardour/option_editor.cc:764
+msgid "output"
+msgstr "salida"
+
+#: gtk2_ardour/option_editor.cc:935
msgid "Choose Click"
-msgstr ""
+msgstr "Elija Click"
-#: option_editor.cc:689
-#, fuzzy
+#: gtk2_ardour/option_editor.cc:957
msgid "Choose Click Emphasis"
-msgstr "Usar como �fasis de metrnomo"
+msgstr "Elija Click acentuado"
-#: option_editor.cc:803
+#: gtk2_ardour/option_editor.cc:1056
msgid "Click audio file"
-msgstr "Archivo de sonido para metrnomo"
+msgstr "Sonido a usar como click"
-#: option_editor.cc:809
+#: gtk2_ardour/option_editor.cc:1062
msgid "Click emphasis audiofile"
-msgstr "Archivo de sonido de �fasis de metrnomo"
+msgstr "Sonido de click acentuado"
-#: option_editor.cc:846
+#: gtk2_ardour/option_editor.cc:1111
msgid ""
"The auditioner is a dedicated mixer strip used\n"
"for listening to specific regions outside the context\n"
"of the overall mix. It can be connected just like any\n"
"other mixer strip."
msgstr ""
-"El audicionador es una salida de sonido dedicada empleada\n"
-"para o� regiones espec�icas de la sesin o para\n"
-"escuchar archivos de sonido en el men Biblioteca de Audio\n"
-"Se puede configurar sus conecciones como a cualquier.otra del mixer"
+"El audicionador es un canal de sonido dedicado empleado\n"
+"para escuchar regiones específicas fuera del contexto de\n"
+"la mezcla general. Puede conectarse como cualquier otro\n"
+"canal del Mezclador."
-#: option_editor.cc:919
+#: gtk2_ardour/option_editor.cc:1203
msgid "Edit using"
-msgstr "Editar con"
+msgstr "Editar usando"
-#: option_editor.cc:926 option_editor.cc:953
+#: gtk2_ardour/option_editor.cc:1210
+#: gtk2_ardour/option_editor.cc:1237
msgid "+ button"
-msgstr "botn +"
+msgstr "+ botón"
-#: option_editor.cc:946
+#: gtk2_ardour/option_editor.cc:1230
msgid "Delete using"
-msgstr "Eliminar con"
+msgstr "Eliminar usando"
-#: option_editor.cc:973
+#: gtk2_ardour/option_editor.cc:1257
msgid "Ignore snap using"
-msgstr "Ignorar trabar con"
+msgstr "Ignorar Ajustar usando"
-#: opts.cc:46
+#: gtk2_ardour/option_editor.cc:1274
+msgid "Keyboard layout"
+msgstr "Disposición de teclado"
+
+#: gtk2_ardour/opts.cc:50
msgid "Usage: "
msgstr "Uso: "
-#: opts.cc:47
+#: gtk2_ardour/opts.cc:51
msgid " -v, --version Show version information\n"
-msgstr ""
-" -v, --version Mostra informacin acerca de la versin\n"
+msgstr " -v, --version Muestra información acerca de la versión\n"
-#: opts.cc:48
+#: gtk2_ardour/opts.cc:52
msgid " -h, --help Print this message\n"
msgstr " -h, --help Muestra este mensage\n"
-#: opts.cc:49
-msgid ""
-" -b, --bindings Print all possible keyboard binding "
-"names\n"
-msgstr ""
-" -b, --bindings Muestra todos los comandos asignables a "
-"botones del teclado(shortcuts)\n"
+#: gtk2_ardour/opts.cc:53
+msgid " -b, --bindings Print all possible keyboard binding names\n"
+msgstr " -b, --bindings Muestra todos los comandos asignables a botones del teclado(shortcuts)\n"
-#: opts.cc:50
-#, fuzzy
+#: gtk2_ardour/opts.cc:54
+msgid " -c, --name name Use a specific jack client name, default is ardour\n"
+msgstr " -c, --name nombre Nombre de cliente JACK para Ardour. Si no selecciona ninguno, el nombre ardour\n"
+
+#: gtk2_ardour/opts.cc:55
+msgid " -d, --disable-plugins Disable all plugins in an existing session\n"
+msgstr " -d, --disable-plugins Deshabilitar todos los plugins de una sesión existente\n"
+
+#: gtk2_ardour/opts.cc:56
msgid " -n, --show-splash Show splash screen\n"
-msgstr " -n, --no-splash No mostrar recuadro inicial\n"
+msgstr " -n, --show-splash Mostrar pantalla inicial\n"
-#: opts.cc:51
-#, fuzzy
-msgid ""
-" -c, --name name Use a specific jack client name, default "
-"is ardour\n"
-msgstr ""
-" -c, --jack-client-name nombre Nombre de cliente jack para Ardour. Si "
-"no selecciona ninguno, el nombre ser�ardour\n"
+#: gtk2_ardour/opts.cc:57
+msgid " -m, --menus file Use \"file\" for Ardour menus\n"
+msgstr " -m, --menus archivo Usar \"archivo\" para los menúes de Ardour\n"
-#: opts.cc:52
-#, fuzzy
-msgid ""
-" -N, --new session-name Create a new session from the command "
-"line\n"
-msgstr " [nombre-sesin] Nombre de sesin a cargar\n"
+#: gtk2_ardour/opts.cc:58
+msgid " -N, --new session-name Create a new session from the command line\n"
+msgstr " -N, --new session-name Crear una sesión nueva desde la línea de comandos\n"
-#: opts.cc:53
-msgid ""
-" -o, --use-hw-optimizations Try to use h/w specific optimizations\n"
-msgstr ""
+#: gtk2_ardour/opts.cc:59
+msgid " -O, --no-hw-optimizations Disable h/w specific optimizations\n"
+msgstr " -O, --no-hw-optimizations Deshabilitar las optimizaciones específicas de h/w\n"
-#: opts.cc:55
-#, fuzzy
+# no sé realmente qué significa
+#: gtk2_ardour/opts.cc:60
+msgid " -S, --sync\t Draw the gui synchronously \n"
+msgstr " -S, --sync\t Dibujar la interfaz gráfica de usuario sincrónicamente\n"
+
+#: gtk2_ardour/opts.cc:62
msgid " -V, --novst Do not use VST support\n"
-msgstr " -n, --no-splash No mostrar recuadro inicial\n"
+msgstr " -V, --novst No usar soporte VST\n"
-#: opts.cc:57
+#: gtk2_ardour/opts.cc:64
msgid " [session-name] Name of session to load\n"
-msgstr " [nombre-sesin] Nombre de sesin a cargar\n"
+msgstr " [nombre-sesión] Nombre de sesión a cargar\n"
-#: opts.cc:58
+#: gtk2_ardour/opts.cc:65
msgid " -C, --curvetest filename Curve algorithm debugger\n"
-msgstr ""
+msgstr " -C, --curvetest filename Debug del algoritmo de la curva\n"
-#: opts.cc:59
-#, fuzzy
-msgid " -g, --gtktheme Allow GTK to load a theme\n"
-msgstr " -h, --help Muestra este mensage\n"
+#: gtk2_ardour/opts.cc:66
+msgid " -k, --keybindings filename Name of key bindings to load (default is ~/.ardour2/ardour.bindings)\n"
+msgstr " -k, --keybindings filename Nombre de las combinaciones de teclas a cargar (por defecto: ~/.ardour2/ardour.bindings)\n"
-#: pan_automation_time_axis.cc:60
-msgid "You can't graphically edit panning of more than stream"
-msgstr ""
+#: gtk2_ardour/pan_automation_time_axis.cc:69
+msgid "You need to select which line to edit"
+msgstr "Necesita seleccionar qué línea editar"
-#: pan_automation_time_axis.cc:80
-#, fuzzy
+#: gtk2_ardour/pan_automation_time_axis.cc:90
msgid "add pan automation event"
-msgstr "agregar evento de automatizacin a "
+msgstr "agregar evento de automatización de panorámica"
-#: panner2d.cc:589 panner_ui.cc:435 plugin_ui.cc:834
-#, fuzzy
+#: gtk2_ardour/panner2d.cc:588
+#: gtk2_ardour/panner_ui.cc:473
+#: gtk2_ardour/plugin_ui.cc:329
msgid "Bypass"
-msgstr "no procesar"
+msgstr "Puentear"
-#: panner_ui.cc:58 panner_ui.cc:225
-#, fuzzy
+#: gtk2_ardour/panner_ui.cc:57
+#: gtk2_ardour/panner_ui.cc:270
msgid "link"
-msgstr "entrada"
+msgstr "vinc"
-#: panner_ui.cc:69
-#, fuzzy
+#: gtk2_ardour/panner_ui.cc:70
msgid "Pan automation mode"
-msgstr "modo de automatizacin de balance"
+msgstr "Modo de automatización de panorámica"
-#: panner_ui.cc:70
-#, fuzzy
+#: gtk2_ardour/panner_ui.cc:71
msgid "Pan automation type"
-msgstr "estado de automatizacin de balance"
+msgstr "Tipo de automatización de panorámica"
-#: panner_ui.cc:81
+#: gtk2_ardour/panner_ui.cc:81
msgid "panning link control"
-msgstr ""
+msgstr "control del vínculo de panorámica"
-#: panner_ui.cc:83
+#: gtk2_ardour/panner_ui.cc:83
msgid "panning link direction"
-msgstr ""
+msgstr "dirección del vínculo de panorámica"
-#: panner_ui.cc:235
+#: gtk2_ardour/panner_ui.cc:273
msgid "L"
msgstr ""
-#: panner_ui.cc:335
+#: gtk2_ardour/panner_ui.cc:394
#, c-format
-msgid "panner for channel %lu"
-msgstr ""
-
-#: panner_ui.cc:337
-#, c-format
-msgid "panner for channel %u"
-msgstr ""
+msgid "panner for channel %zu"
+msgstr "panorámica del canal %zu"
-#: panner_ui.cc:445
-#, fuzzy
+#: gtk2_ardour/panner_ui.cc:483
msgid "Reset all"
-msgstr "resetear"
+msgstr "Limpiar todos"
-#: playlist_selector.cc:52
-#, fuzzy
-msgid "ardour: playlists"
-msgstr "ardour: plugins"
+#: gtk2_ardour/playlist_selector.cc:58
+msgid "Playlists"
+msgstr "Listas de Reproducción"
-#: playlist_selector.cc:59
+#: gtk2_ardour/playlist_selector.cc:63
msgid "Playlists grouped by track"
-msgstr ""
+msgstr "Listas de Reproducción agrupadas por pista"
-#: playlist_selector.cc:98
-#, fuzzy
-msgid "ardour: playlist for "
-msgstr "ardour: plugins"
+#: gtk2_ardour/playlist_selector.cc:112
+msgid "Playlist for %1"
+msgstr "Lista de Reproducción en %1"
-#: playlist_selector.cc:114
-#, fuzzy
+#: gtk2_ardour/playlist_selector.cc:126
msgid "Other tracks"
-msgstr "Ocultar esta pista"
+msgstr "Otras pistas"
-#: playlist_selector.cc:130
+#: gtk2_ardour/playlist_selector.cc:143
msgid "unassigned"
-msgstr ""
-
-#: plugin_selector.cc:43
+msgstr "no asignado"
+
+#: gtk2_ardour/plugin_selector.cc:51
+#: gtk2_ardour/plugin_selector.cc:209
+msgid "Name contains"
+msgstr "Nombre contiene"
+
+#: gtk2_ardour/plugin_selector.cc:52
+#: gtk2_ardour/plugin_selector.cc:211
+msgid "Type contains"
+msgstr "Tipo contiene"
+
+#: gtk2_ardour/plugin_selector.cc:53
+#: gtk2_ardour/plugin_selector.cc:213
+msgid "Author contains"
+msgstr "Autor contiene"
+
+#: gtk2_ardour/plugin_selector.cc:54
+#: gtk2_ardour/plugin_selector.cc:215
+msgid "Library contains"
+msgstr "Biblioteca contiene"
+
+#: gtk2_ardour/plugin_selector.cc:55
+#: gtk2_ardour/plugin_selector.cc:203
+#: gtk2_ardour/plugin_selector.cc:450
+msgid "Favorites only"
+msgstr "Sólo favoritos"
+
+#: gtk2_ardour/plugin_selector.cc:60
msgid "ardour: plugins"
msgstr "ardour: plugins"
-#: plugin_selector.cc:56
-#, fuzzy
-msgid "Available LADSPA Plugins"
-msgstr "Plugins LADSPA dispon�les"
+#: gtk2_ardour/plugin_selector.cc:77
+msgid "Fav"
+msgstr "Fav"
+
+#: gtk2_ardour/plugin_selector.cc:78
+msgid "Available Plugins"
+msgstr "Plugins Disponibles"
-#: plugin_selector.cc:57
+#: gtk2_ardour/plugin_selector.cc:79
msgid "Type"
msgstr "Tipo"
-#: plugin_selector.cc:58 plugin_selector.cc:81
+#: gtk2_ardour/plugin_selector.cc:80
+msgid "Category"
+msgstr "Categoría"
+
+#: gtk2_ardour/plugin_selector.cc:81
+msgid "Creator"
+msgstr "Creador"
+
+#: gtk2_ardour/plugin_selector.cc:82
msgid "# Inputs"
msgstr "# Entradas"
-#: plugin_selector.cc:59 plugin_selector.cc:82
+#: gtk2_ardour/plugin_selector.cc:83
msgid "# Outputs"
msgstr "# Salidas"
-#: plugin_selector.cc:68
-msgid "Plugins to be Connected to Insert"
-msgstr ""
-
-#: plugin_selector.cc:80
-#, fuzzy
-msgid "Available plugins"
-msgstr "Plugins LADSPA dispon�les"
+#: gtk2_ardour/plugin_selector.cc:100
+msgid "Plugins to be connected"
+msgstr "Plugins que se conectarán"
-#: plugin_selector.cc:98
+#: gtk2_ardour/plugin_selector.cc:113
msgid "Add a plugin to the effect list"
-msgstr "Agregar plugin a lista de efectos"
+msgstr "Agregar plugin a la lista de efectos"
-#: plugin_selector.cc:102
+#: gtk2_ardour/plugin_selector.cc:117
msgid "Remove a plugin from the effect list"
-msgstr "Quitar plugin de lista de efectos"
+msgstr "Eliminar plugin de la lista de efectos"
-#: plugin_selector.cc:104
+#: gtk2_ardour/plugin_selector.cc:119
msgid "Update available plugins"
-msgstr "Actualizar plugins dispon�les"
+msgstr "Actualizar plugins disponibles"
-#: plugin_selector.cc:126
-msgid "LADSPA"
-msgstr ""
+#: gtk2_ardour/plugin_selector.cc:156
+msgid "Insert Plugin(s)"
+msgstr "Insertar Plugin/s"
-#: plugin_selector.cc:129
-msgid "VST"
-msgstr ""
+#: gtk2_ardour/plugin_selector.cc:502
+msgid "Favorites"
+msgstr "Favoritos"
-#: plugin_ui.cc:84
-msgid ""
-"unknown type of editor-supplying plugin (note: no VST support in this "
-"version of ardour)"
-msgstr ""
+#: gtk2_ardour/plugin_selector.cc:503
+msgid "Plugin Manager"
+msgstr "Administrador de Plugins"
-#: plugin_ui.cc:139
-msgid "<span size=\"large\">Presets</span>"
+#: gtk2_ardour/plugin_ui.cc:87
+msgid "Eh? LADSPA plugins don't have editors!"
+msgstr "¿Eh? ¡Los plugins LADSPA no tienen editores!"
+
+#: gtk2_ardour/plugin_ui.cc:96
+#: gtk2_ardour/plugin_ui.cc:219
+msgid "unknown type of editor-supplying plugin (note: no VST support in this version of ardour)"
msgstr ""
-#: plugin_ui.cc:230
-#, fuzzy
-msgid "Controls"
-msgstr "Control de Salidas"
+#: gtk2_ardour/plugin_ui.cc:99
+msgid "unknown type of editor-supplying plugin"
+msgstr ""
-#: plugin_ui.cc:267
-msgid "Plugin Editor: could not build control element for port %1"
+#: gtk2_ardour/plugin_ui.cc:284
+msgid "create_lv2_editor called on non-LV2 plugin"
msgstr ""
-#: plugin_ui.cc:358
-#, fuzzy
-msgid "Automation control"
-msgstr "mover evento de automatizacin"
+#: gtk2_ardour/plugin_ui.cc:358
+#: gtk2_ardour/plugin_ui.cc:435
+msgid "Click to focus all keyboard events on this plugin window"
+msgstr "Pulse para que todos los eventos de teclado tengan foco en esta ventana de plugin"
-#: plugin_ui.cc:854
+#: gtk2_ardour/plugin_ui.cc:359
+msgid "Click to enable/disable this plugin"
+msgstr "Pulse para activar/desactivar este plugin"
+
+#: gtk2_ardour/plugin_ui.cc:377
msgid "Plugin preset %1 not found"
-msgstr ""
+msgstr "No se encontró el preset %1"
-#: plugin_ui.cc:864
-#, fuzzy
+#: gtk2_ardour/plugin_ui.cc:386
msgid "Name of New Preset:"
-msgstr "Nombre para nueva coneccin:"
+msgstr "Nombre del Nuevo Preset:"
+
+#: gtk2_ardour/plugin_ui.cc:441
+msgid "Click to remove keyboard focus from this plugin window"
+msgstr "Pulse para eliminar el foco de los eventos de teclado de esta ventana"
-#: redirect_automation_line.cc:54
+# ¿qué es esto?
+#: gtk2_ardour/redirect_automation_line.cc:53
msgid "redirect automation created for non-plugin"
-msgstr "automatizacin creada para un redireccionamiento no-plugin"
+msgstr "redireccionar automatización creada para un no-plugin"
-#: redirect_automation_time_axis.cc:94
-#, fuzzy
+#: gtk2_ardour/redirect_automation_time_axis.cc:95
msgid "add automation event to "
-msgstr "agregar evento de automatizacin a "
+msgstr "agregar evento de automatización a "
-#: redirect_box.cc:223
+#: gtk2_ardour/redirect_box.cc:228
msgid "New send"
-msgstr ""
+msgstr "Nuevo envío"
-#: redirect_box.cc:224
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:229
msgid "Show send controls"
-msgstr "Control de velocidad y sentido de reproduccin(pitch)"
+msgstr "Mostrar controles del envío"
+
+#: gtk2_ardour/redirect_box.cc:421
+#: gtk2_ardour/redirect_box.cc:729
+msgid "ardour: weird plugin dialog"
+msgstr "ardour: diálogo de plugin extraño"
-#: redirect_box.cc:383
+#: gtk2_ardour/redirect_box.cc:428
msgid ""
"You attempted to add a plugin (%1).\n"
"The plugin has %2 inputs\n"
@@ -5648,8 +7356,15 @@ msgid ""
"This makes no sense - you are throwing away\n"
"part of the signal."
msgstr ""
+"Intentaste añadir un plugin (%1).\n"
+"El plugin tiene %2 entrada/s\n"
+"pero hay %3 señal/es activa/s en el\n"
+"punto de inserción.\n"
+"\n"
+"Esto no tiene sentido - estás perdiendo\n"
+"parte de la señal."
-#: redirect_box.cc:395
+#: gtk2_ardour/redirect_box.cc:440
msgid ""
"You attempted to add a plugin (%1).\n"
"The plugin has %2 inputs\n"
@@ -5660,8 +7375,16 @@ msgid ""
"side-chain inputs. A future version of Ardour will\n"
"support this type of configuration."
msgstr ""
+"Intentaste añadir un plugin (%1).\n"
+"El plugin tiene %2 entrada/s\n"
+"pero sólo hay %3 señal/es activa/s\n"
+"en el punto de inserción.\n"
+"\n"
+"Esto no tiene sentido - a menos que el plugin\n"
+"soporte entradas de sidechain. Futuras versiones\n"
+"de Ardour soportarán este tipo de configuración."
-#: redirect_box.cc:408
+#: gtk2_ardour/redirect_box.cc:453
msgid ""
"You attempted to add a plugin (%1).\n"
"\n"
@@ -5673,1051 +7396,1001 @@ msgid ""
"\n"
"Ardour does not understand what to do in such situations.\n"
msgstr ""
+"Intentaste añadir un plugin (%1).\n"
+"\n"
+"La configuración de E/S no tiene sentido:\n"
+"\n"
+"El plugin tiene %2 entrada/s y %3 salida/s.\n"
+"La pista o bus tiene %4 entrada/s y %5 salida/s.\n"
+"El punto de inserción tiene %6 señal/es activa/s.\n"
+"\n"
+"Ardour no sabe qué hacer en estas situaciones.\n"
-#: redirect_box.cc:495
+#: gtk2_ardour/redirect_box.cc:502
+msgid "Cannot set up new send: %1"
+msgstr "No se pudo configurar el nuevo envío: %1"
+
+#: gtk2_ardour/redirect_box.cc:561
msgid "Pre-fader inserts, sends & plugins:"
-msgstr ""
+msgstr "Inserciones, envíos y plugins pre-atenuador:"
-#: redirect_box.cc:498
+#: gtk2_ardour/redirect_box.cc:564
msgid "Post-fader inserts, sends & plugins:"
-msgstr ""
+msgstr "Inserciones, envíos y plugins post-atenuador:"
-#: redirect_box.cc:644
+#: gtk2_ardour/redirect_box.cc:732
msgid ""
"You cannot reorder this set of redirects\n"
"in that way because the inputs and\n"
"outputs do not work correctly."
msgstr ""
+"No se puede reordenar este juego de conexiones\n"
+"de ese modo porque las entradas y salidas no\n"
+"fucionarán correctamente."
-#: redirect_box.cc:749
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:887
msgid "rename redirect"
-msgstr "ardour: renombrar regin"
+msgstr "renombrar conexión"
-#: redirect_box.cc:826 redirect_box.cc:874
+#: gtk2_ardour/redirect_box.cc:963
+#: gtk2_ardour/redirect_box.cc:1012
msgid ""
"Copying the set of redirects on the clipboard failed,\n"
"probably because the I/O configuration of the plugins\n"
"could not match the configuration of this track."
msgstr ""
+"Falló el copiado del juego de conexiones desde el\n"
+"portapapeles, probablemente debido a que la\n"
+"configuración de E/S de los plugins no concuerda\n"
+"con la configuración de esta pista."
-#: redirect_box.cc:896
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:1035
msgid ""
-"Do you really want to remove all redirects from this track?\n"
+"Do you really want to remove all pre-fader redirects from this track?\n"
"(this cannot be undone)"
msgstr ""
-"Realmente desea quitar la pista \"%1\" ?\n"
-"(no podr�deshacer esto)"
+"¿Desea realmente eliminar todas las\n"
+"conexiones pre-atenuador de esta pista?\n"
+"(No podrá deshacer esta acción)"
-#: redirect_box.cc:899
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:1038
msgid ""
-"Do you really want to remove all redirects from this bus?\n"
+"Do you really want to remove all post-fader redirects from this track?\n"
"(this cannot be undone)"
msgstr ""
-"Realmente desea quitar la pista \"%1\" ?\n"
-"(no podr�deshacer esto)"
+"¿Desea realmente eliminar todas las\n"
+"conexiones post-atenuador de esta pista?\n"
+"(No podrá deshacer esta acción)"
-#: redirect_box.cc:904
-#, fuzzy
-msgid "Yes, remove them all"
-msgstr "Si, eliminar esto."
+#: gtk2_ardour/redirect_box.cc:1043
+msgid ""
+"Do you really want to remove all pre-fader redirects from this bus?\n"
+"(this cannot be undone)"
+msgstr ""
+"¿Desea realmente eliminar todas las\n"
+"conexiones pre-atenuador de este bus?\n"
+"(No podrá deshacer esta acción)"
-#: redirect_box.cc:940
-#, fuzzy
-msgid "ardour: %1"
-msgstr "ardour: reloj"
+#: gtk2_ardour/redirect_box.cc:1046
+msgid ""
+"Do you really want to remove all post-fader redirects from this bus?\n"
+"(this cannot be undone)"
+msgstr ""
+"¿Desea realmente eliminar todas las\n"
+"conexiones post-atenuador de este bus?\n"
+"(No podrá deshacer esta acción)"
-#: redirect_box.cc:982
-#, fuzzy
-msgid "ardour: %1: %2 (by %3)"
-msgstr "ardour: regin"
+#: gtk2_ardour/redirect_box.cc:1052
+msgid "Yes, remove them all"
+msgstr "Sí, eliminarlas todas."
-#. new stuff
-#: redirect_box.cc:1054
-msgid "New Plugin ..."
-msgstr ""
+#: gtk2_ardour/redirect_box.cc:1199
+msgid "New Plugin"
+msgstr "Nuevo plugin"
-#: redirect_box.cc:1055
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:1201
msgid "New Insert"
-msgstr "nueva entrada"
+msgstr "Nueva inserción"
-#: redirect_box.cc:1056
+#: gtk2_ardour/redirect_box.cc:1203
msgid "New Send ..."
-msgstr ""
+msgstr "Nuevo envío..."
-#: redirect_box.cc:1068
-#, fuzzy
-msgid "Deselect All"
-msgstr "Seleccionar todo"
-
-#: redirect_box.cc:1075
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:1228
msgid "Activate all"
-msgstr "Activar"
+msgstr "Activar todos"
-#: redirect_box.cc:1076
-#, fuzzy
+#: gtk2_ardour/redirect_box.cc:1229
msgid "Deactivate all"
-msgstr "Desactivar"
+msgstr "Desactivar todos"
-#: region_editor.cc:45
-msgid "NAME:"
-msgstr "NOMBRE:"
+#: gtk2_ardour/redirect_box.cc:1422
+msgid "%1: %2 (by %3)"
+msgstr "%1: %2 (a %3)"
-#: region_editor.cc:46
-msgid "lock"
-msgstr "bloquear"
+#: gtk2_ardour/rhythm_ferret.cc:31
+msgid "Percussive Onset"
+msgstr "Inicios de percusión"
-#: region_editor.cc:48
-msgid "opaque"
-msgstr "opaco"
+#: gtk2_ardour/rhythm_ferret.cc:32
+msgid "Note Onset"
+msgstr "Inicios de notas"
-#: region_editor.cc:49 region_editor.cc:192 region_editor.cc:226
-msgid "active"
-msgstr "activo"
+#: gtk2_ardour/rhythm_ferret.cc:37
+msgid "Energy Based"
+msgstr "Basado en Energía"
-#: region_editor.cc:50
-msgid "visible"
-msgstr "visible"
+#: gtk2_ardour/rhythm_ferret.cc:38
+msgid "Spectral Difference"
+msgstr "Diferencia espectral"
-#: region_editor.cc:53
-msgid "Layer"
-msgstr "Capa"
+#: gtk2_ardour/rhythm_ferret.cc:39
+msgid "High-Frequency Content"
+msgstr "Contenido de Frecuencias Altas"
-#: region_editor.cc:54
-msgid "play"
-msgstr "reproducir"
+#: gtk2_ardour/rhythm_ferret.cc:40
+msgid "Complex Domain"
+msgstr "Dominio complejo"
-#: region_editor.cc:61
-msgid "ENVELOPE"
-msgstr "ENVELOPE"
+#: gtk2_ardour/rhythm_ferret.cc:41
+msgid "Phase Deviation"
+msgstr "Desviación de fase"
-#: region_editor.cc:107
-msgid "mute this region"
-msgstr "enmudecer a esta regin"
+#: gtk2_ardour/rhythm_ferret.cc:42
+msgid "Kullback-Liebler"
+msgstr "Kullback-Liebler"
-#: region_editor.cc:108
-msgid "regions underneath this one cannot be heard"
-msgstr "no se oir� a las regiones que est� bajo �ta"
+#: gtk2_ardour/rhythm_ferret.cc:43
+msgid "Modified Kullback-Liebler"
+msgstr "Kullback-Liebler modificado"
-#: region_editor.cc:109
-msgid "prevent any changes to this region"
-msgstr "bloquear contra cambios a esta regin"
+#: gtk2_ardour/rhythm_ferret.cc:50
+msgid "Operation"
+msgstr "Operación"
-#: region_editor.cc:110
-msgid "use the gain envelope during playback"
-msgstr "usar envelope de volumen durante la reproduccin"
+#: gtk2_ardour/rhythm_ferret.cc:51
+msgid "Selection"
+msgstr "Selección"
-#: region_editor.cc:111
-msgid "show the gain envelope"
-msgstr "mostrar envelope de volumen"
+#: gtk2_ardour/rhythm_ferret.cc:52
+msgid "Analysis"
+msgstr "Análisis"
-#: region_editor.cc:112
-msgid "use fade in curve during playback"
-msgstr "usar fade-in durante reproduccin"
+#: gtk2_ardour/rhythm_ferret.cc:55
+msgid "Set Tempo Map"
+msgstr "Definir mapa de tempo"
-#: region_editor.cc:113
-msgid "use fade out curve during playback"
-msgstr "usar fade-out durante reproduccin"
+# es una opción en rhythm ferret, no estoy seguro qué hace...
+#: gtk2_ardour/rhythm_ferret.cc:56
+msgid "Conform Region"
+msgstr "Conformar región"
-#: region_editor.cc:114
-msgid "audition this region"
-msgstr "audicionar esta regin"
+#: gtk2_ardour/rhythm_ferret.cc:57
+msgid "Mode"
+msgstr "Modo"
-#: region_editor.cc:147
-msgid "START:"
-msgstr "INICIO"
+#: gtk2_ardour/rhythm_ferret.cc:60
+msgid "Threshold"
+msgstr "Umbral"
-#: region_editor.cc:149
-msgid "END:"
-msgstr "FINAL:"
+#: gtk2_ardour/rhythm_ferret.cc:63
+msgid "Sensitivity"
+msgstr "Sensibilidad"
-#: region_editor.cc:151
-msgid "LENGTH:"
-msgstr "DURACI�:"
+#: gtk2_ardour/rhythm_ferret.cc:64
+msgid "Analyze"
+msgstr "Analizar"
-#: region_editor.cc:191
-msgid "FADE IN"
-msgstr "FADE IN"
+#: gtk2_ardour/rhythm_ferret.cc:65
+msgid "Detection function"
+msgstr "Función de detección"
-#: region_editor.cc:193 region_editor.cc:227
-msgid "msecs"
-msgstr "milisecs."
+#: gtk2_ardour/rhythm_ferret.cc:68
+msgid "Peak Threshold"
+msgstr "Umbral de pico"
-#: region_editor.cc:225
-msgid "FADE OUT"
-msgstr "FADE OUT"
+#: gtk2_ardour/rhythm_ferret.cc:71
+msgid "Silent Threshold (dB)"
+msgstr "Umbral de silencio (dB)"
-#: region_editor.cc:265
-msgid "ardour: region "
-msgstr "ardour: regin"
+#: gtk2_ardour/rhythm_ferret.cc:74
+msgid "Trigger gap (msecs)"
+msgstr "Intervalo entre disparos (mseg)"
-#: region_editor.cc:402
-msgid "fade in edit"
-msgstr "editar fade in"
+#: gtk2_ardour/rhythm_ferret.cc:316
+#: gtk2_ardour/sfdb_ui.cc:1359
+msgid "programming error: %1 (%2)"
+msgstr "error de programación: %1 (%2)"
-#: region_editor.cc:414
-#, fuzzy
-msgid "fade out edit"
-msgstr "agregar salida"
+#: gtk2_ardour/rhythm_ferret.cc:394
+msgid "split regions (rhythm ferret)"
+msgstr "separar regiones (rhythm ferret)"
-#: regionview.cc:1146
-#, fuzzy
-msgid "add gain control point"
-msgstr "Remover punto de sincron�"
-
-#: route_params_ui.cc:89
+#: gtk2_ardour/route_params_ui.cc:85
msgid "Tracks/Buses"
msgstr "Pistas/Buses"
-#: route_params_ui.cc:109
-#, fuzzy
+#: gtk2_ardour/route_params_ui.cc:105
msgid "Pre-fader Redirects"
-msgstr "Pre Redireccionamentos"
+msgstr "Conexiones pre-atenuador"
-#: route_params_ui.cc:110
-#, fuzzy
+#: gtk2_ardour/route_params_ui.cc:106
msgid "Post-fader Redirects"
-msgstr "Pst Redireccionamentos"
-
-#: route_params_ui.cc:144
-#, fuzzy
-msgid "ardour: track/bus inspector"
-msgstr "ardour: agregar Pistas/bus"
+msgstr "Conexiones post-atenuador"
-#: route_params_ui.cc:145
-msgid "ardour_route_parameters"
-msgstr "ardour_route_parameters"
-
-#: route_params_ui.cc:202
+#: gtk2_ardour/route_params_ui.cc:205
msgid "route display list item for renamed route not found!"
msgstr ""
-#: route_params_ui.cc:453
+#: gtk2_ardour/route_params_ui.cc:455
msgid "NO TRACK"
msgstr "NINGUNA PISTA"
-#: route_params_ui.cc:695
-#, fuzzy
-msgid "ardour: track/bus inspector: "
-msgstr "ardour: agregar Pistas/bus"
-
-#: route_params_ui.cc:699
+#: gtk2_ardour/route_params_ui.cc:685
+#: gtk2_ardour/route_params_ui.cc:686
msgid "No Route Selected"
-msgstr "No seleccion ninguna Ruta"
-
-#: route_params_ui.cc:700
-#, fuzzy
-msgid "ardour: track/bus/inspector: no route selected"
-msgstr "ardour: par�etros de ruteo: no seleccion ninguna ruta"
-
-#. ctrl-shift-click applies change to all routes
-#: route_ui.cc:134
-#, fuzzy
-msgid "mute change"
-msgstr "Seleccionar intervalo de punch"
-
-#. ctrl-shift-click applies change to all routes
-#. ctrl-alt-click: exclusively solo this track, not a toggle */
-#: route_ui.cc:209 route_ui.cc:219
-#, fuzzy
-msgid "solo change"
-msgstr "rango de reproduccin cont�ua"
-
-#: route_ui.cc:282
-msgid "rec-enable change"
-msgstr ""
-
-#: route_ui.cc:479
-#, fuzzy
-msgid "Solo-safe"
-msgstr "Solo"
-
-#: route_ui.cc:487 route_ui.cc:530
-#, fuzzy
-msgid "MIDI Bind"
-msgstr "MIDI"
-
-#: route_ui.cc:501
-msgid "Pre Fader"
-msgstr "Pre-Fader"
-
-#: route_ui.cc:508
-msgid "Post Fader"
-msgstr "Pst-Fader"
+msgstr "No se seleccionó ninguna Ruta"
-#: route_ui.cc:515
-msgid "Control Outs"
-msgstr "Control de Salidas"
-
-#: route_ui.cc:522
-msgid "Main Outs"
-msgstr "Salidas Principales"
-
-#: route_ui.cc:559
-msgid "mix group solo change"
-msgstr ""
-
-#: route_ui.cc:593
-msgid "mix group mute change"
+#: gtk2_ardour/route_time_axis.cc:99
+msgid "m"
msgstr ""
-#: route_ui.cc:609
-msgid "mix group rec-enable change"
+#: gtk2_ardour/route_time_axis.cc:99
+msgid "s"
msgstr ""
-#: route_ui.cc:626 visual_time_axis.cc:237
-msgid "ardour: color selection"
-msgstr "ardour: seleccin de color"
-
-#: route_ui.cc:702
-#, fuzzy
-msgid ""
-"Do you really want to remove track \"%1\" ?\n"
-"\n"
-"You may also lose the playlist used by this track.\n"
-"(cannot be undone)"
+#: gtk2_ardour/route_time_axis.cc:99
+msgid "r"
msgstr ""
-"Realmente desea quitar la pista \"%1\" ?\n"
-"(no podr�deshacer esto)"
-#: route_ui.cc:704
-msgid ""
-"Do you really want to remove bus \"%1\" ?\n"
-"(cannot be undone)"
+#: gtk2_ardour/route_time_axis.cc:103
+msgid "g"
msgstr ""
-"Realmente desea quitar el bus \"%1\" ?\n"
-"(no podr�deshacer esto)"
-
-#: route_ui.cc:708 visual_time_axis.cc:279
-msgid "Yes, remove it."
-msgstr "Si, eliminar esto."
-
-#: route_ui.cc:737
-#, fuzzy
-msgid "New Name: "
-msgstr "nuevo nombre: "
-
-#: sfdb_ui.cc:58
-msgid "Add Field..."
-msgstr "Agregar Campo..."
-
-#: sfdb_ui.cc:59
-msgid "Remove Field"
-msgstr "Quitar Campo"
-
-#: sfdb_ui.cc:62
-msgid "Soundfile Info"
-msgstr "Informacin de archivo"
-
-#: sfdb_ui.cc:80
-msgid "Field"
-msgstr "Campo"
-
-#: sfdb_ui.cc:81
-msgid "Value"
-msgstr "Valor"
-
-#: sfdb_ui.cc:161
-#, fuzzy
-msgid "channels"
-msgstr "cancelar"
-#: sfdb_ui.cc:161
-#, fuzzy
-msgid "samplerate"
-msgstr "Separar Regin"
-
-#: sfdb_ui.cc:162
-#, fuzzy
-msgid "resolution"
-msgstr "Reproducir seleccin"
-
-#: sfdb_ui.cc:162
-#, fuzzy
-msgid "format"
-msgstr "Normal"
-
-#: sfdb_ui.cc:183
-#, fuzzy
-msgid "Could not read file: %1 (%2)."
-msgstr "No se pudo abrir el archivo \"%1\" (%2)"
-
-#: sfdb_ui.cc:199
-msgid "Could not access soundfile: "
-msgstr "No se pudo acceder a archivo de audio"
-
-#: sfdb_ui.cc:236
-#, fuzzy
-msgid "Name for Field"
-msgstr "Nombre para regin:"
-
-#: sfdb_ui.cc:335
-msgid "Split Channels"
-msgstr "Separar canales"
-
-#: sfdb_ui.cc:342
-msgid "Create a region for each channel"
+#: gtk2_ardour/route_time_axis.cc:104
+msgid "p"
msgstr ""
-#: sfdb_ui.cc:344
-msgid "Embed"
+#: gtk2_ardour/route_time_axis.cc:105
+#: gtk2_ardour/visual_time_axis.cc:73
+msgid "h"
msgstr ""
-#: sfdb_ui.cc:346
-#, fuzzy
-msgid "Link to an external file"
-msgstr "Insertar archivo de audio externo"
-
-#: sfdb_ui.cc:348
-msgid "Import"
-msgstr "Importar"
-
-#: sfdb_ui.cc:350
-msgid "Copy a file to the session folder"
+#: gtk2_ardour/route_time_axis.cc:106
+msgid "a"
msgstr ""
-#: sfdb_ui.cc:414
-msgid "programming error: %1"
+#: gtk2_ardour/route_time_axis.cc:107
+#: gtk2_ardour/visual_time_axis.cc:72
+msgid "v"
msgstr ""
-#: tempo_dialog.cc:18 tempo_dialog.cc:35
-msgid "Beats per minute"
-msgstr "Pulsos por minuto"
-
-#: tempo_dialog.cc:21 tempo_dialog.cc:38 tempo_dialog.cc:203
-#: tempo_dialog.cc:221
-msgid "Bar"
-msgstr "Comp�"
-
-#: tempo_dialog.cc:22 tempo_dialog.cc:39 tempo_dialog.cc:204
-#: tempo_dialog.cc:222
-msgid "Beat"
-msgstr "Pulsos"
-
-#: tempo_dialog.cc:24 tempo_dialog.cc:41 tempo_dialog.cc:205
-#: tempo_dialog.cc:223
-msgid "Location"
-msgstr "Localizacin"
-
-#: tempo_dialog.cc:199 tempo_dialog.cc:217
-msgid "Meter denominator"
-msgstr "Denominador m�rico"
-
-#: tempo_dialog.cc:200 tempo_dialog.cc:218
-msgid "Beats per bar"
-msgstr "Pulsos por compaces"
-
-#: tempo_dialog.cc:236 tempo_dialog.cc:247
-msgid "whole (1)"
-msgstr "toda (1)"
-
-#: tempo_dialog.cc:237 tempo_dialog.cc:249
-msgid "second (2)"
-msgstr "segunda (2)"
-
-#: tempo_dialog.cc:238 tempo_dialog.cc:251
-msgid "third (3)"
-msgstr "tercera (3)"
-
-#: tempo_dialog.cc:239 tempo_dialog.cc:253 tempo_dialog.cc:261
-msgid "quarter (4)"
-msgstr "cuarta (4)"
-
-#: tempo_dialog.cc:240 tempo_dialog.cc:255
-msgid "eighth (8)"
-msgstr "octava (8)"
-
-#: tempo_dialog.cc:241 tempo_dialog.cc:257
-msgid "sixteenth (16)"
-msgstr "d�ima sexta (16)"
-
-#: tempo_dialog.cc:242 tempo_dialog.cc:259
-msgid "thirty-second (32)"
-msgstr "trig�ima segunda (32)"
+#: gtk2_ardour/route_time_axis.cc:190
+msgid "Edit Group"
+msgstr "Editar Grupo"
-#: tempo_dialog.cc:420
-msgid "garbaged note type entry (%1)"
-msgstr "se descart el texto (%1)"
+#: gtk2_ardour/route_time_axis.cc:191
+#: gtk2_ardour/visual_time_axis.cc:91
+msgid "Display Height"
+msgstr "Altura de visor"
-#: tempo_dialog.cc:430
-msgid "incomprehensible note type entry (%1)"
-msgstr "El formato de este texto es incomprensible(%1)"
+#: gtk2_ardour/route_time_axis.cc:192
+msgid "Playlist"
+msgstr "Lista de Reproducción"
-#: time_axis_view.cc:112
-msgid "gTortnam"
-msgstr "gTortnam"
+#: gtk2_ardour/route_time_axis.cc:193
+#: gtk2_ardour/route_time_axis.cc:457
+msgid "Automation"
+msgstr "Automatización"
-#: time_axis_view.cc:549
-msgid "Largest"
-msgstr "Enorme"
+#: gtk2_ardour/route_time_axis.cc:194
+#: gtk2_ardour/visual_time_axis.cc:92
+msgid "Visual options"
+msgstr "Opciones visuales"
-#: time_axis_view.cc:550
-msgid "Large"
-msgstr "Grande"
+#: gtk2_ardour/route_time_axis.cc:195
+#: gtk2_ardour/visual_time_axis.cc:93
+msgid "Hide this track"
+msgstr "Ocultar esta pista"
-#: time_axis_view.cc:551
-msgid "Larger"
-msgstr "Mayor"
+#: gtk2_ardour/route_time_axis.cc:418
+msgid "Show all automation"
+msgstr "Mostrar toda automatización"
-#: time_axis_view.cc:553
-msgid "Smaller"
-msgstr "Menor"
+#: gtk2_ardour/route_time_axis.cc:421
+msgid "Show existing automation"
+msgstr "Mostrar toda automatización existente"
-#: time_axis_view.cc:554
-msgid "Small"
-msgstr "Chico"
+#: gtk2_ardour/route_time_axis.cc:424
+msgid "Hide all automation"
+msgstr "Ocultar toda automatización"
-#: time_axis_view.cc:870
-msgid "unknown track height name \"%1\" in XML GUI information"
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:427
+msgid "Plugins"
+msgstr "Plugins"
-#. first constructed item sets up font info
-#: time_axis_view_item.cc:79
-msgid "TimeAxisViewItemName"
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:473
+msgid "Align with existing material"
+msgstr "Alinear con el material existente"
-#: time_axis_view_item.cc:298
-msgid "new duration %1 frames is out of bounds for %2"
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:479
+msgid "Align with capture time"
+msgstr "Alinear con tiempo de captura"
-#: time_selection.cc:41
-msgid "programming error: request for non-existent audio range (%1)!"
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:486
+msgid "Alignment"
+msgstr "Alineación"
-#: utils.cc:107 utils.cc:150
-msgid "bad XPM header %1"
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:490
+msgid "Normal mode"
+msgstr "Modo Normal"
-#: utils.cc:332
-msgid "missing RGBA style for \"%1\""
-msgstr ""
+#: gtk2_ardour/route_time_axis.cc:493
+msgid "Tape mode"
+msgstr "Modo de Cinta"
-#: visual_time_axis.cc:276
-msgid ""
-"Do you really want to remove track \"%1\" ?\n"
-"(cannot be undone)"
-msgstr ""
-"Realmente desea quitar la pista \"%1\" ?\n"
-"(no podr�deshacer esto)"
+#: gtk2_ardour/route_time_axis.cc:883
+msgid "Name for playlist"
+msgstr "Nombre para Lista de Reproducción"
-#: visual_time_axis.cc:325
-msgid "new name: "
-msgstr "nuevo nombre: "
+#: gtk2_ardour/route_time_axis.cc:966
+#: gtk2_ardour/route_time_axis.cc:1016
+msgid "Name for Playlist"
+msgstr "Nombre para Lista de Reproducción"
-#: visual_time_axis.cc:336
+#: gtk2_ardour/route_time_axis.cc:1219
+#: gtk2_ardour/visual_time_axis.cc:326
+#: gtk2_ardour/visual_time_axis.cc:373
msgid "A track already exists with that name"
msgstr "Ya existe una pista con este nombre"
-#, fuzzy
-#~ msgid "set selected trackview"
-#~ msgstr "Insertar seleccin"
-
-#, fuzzy
-#~ msgid "set selected control point"
-#~ msgstr "Remover punto de sincron�"
-
-#, fuzzy
-#~ msgid "set selected regionview"
-#~ msgstr "Reproducir regin seleccionada cont�uamente"
-
-#~ msgid "Start a new session\n"
-#~ msgstr "Iniciar una nueva sesin\n"
-
-#~ msgid "via Session menu"
-#~ msgstr "via men de Sesin"
-
-#, fuzzy
-#~ msgid "<b>Advanced</b>"
-#~ msgstr "Avanzado..."
-
-#, fuzzy
-#~ msgid "Select a File"
-#~ msgstr "Seleccionar todo"
-
-#, fuzzy
-#~ msgid "Track/Bus connection options"
-#~ msgstr "Pistas/Buses"
-
-#~ msgid "RECORD"
-#~ msgstr "GRABAR"
-
-#~ msgid "INPUT"
-#~ msgstr "ENTRADA"
-
-#~ msgid "OUTPUT"
-#~ msgstr "SALIDA"
-
-#, fuzzy
-#~ msgid "Gain automation mode"
-#~ msgstr "modo de automatizacin de volumen"
-
-#, fuzzy
-#~ msgid "Gain automation type"
-#~ msgstr "estado de automatizacin de volumen"
-
-#, fuzzy
-#~ msgid "trim"
-#~ msgstr "cortar"
-
-#, fuzzy
-#~ msgid "gain automation mode"
-#~ msgstr "modo de automatizacin de volumen"
-
-#, fuzzy
-#~ msgid "gain automation state"
-#~ msgstr "estado de automatizacin de volumen"
-
-#, fuzzy
-#~ msgid "pan automation state"
-#~ msgstr "estado de automatizacin de balance"
-
-#~ msgid "OUT"
-#~ msgstr "SALIDA"
-
-#~ msgid "no group"
-#~ msgstr "sin grupo"
-
-#, fuzzy
-#~ msgid "normal"
-#~ msgstr "Normal"
-
-#~ msgid "Disk r:%5.1f w:%5.1f MB/s"
-#~ msgstr "Disco r:%5.1f w:%5.1f MB/s"
-
-#, fuzzy
-#~ msgid "ardour cleanup"
-#~ msgstr "ardour: limpiar"
-
-#~ msgid "close session"
-#~ msgstr "cerrar sesin"
-
-#, fuzzy
-#~ msgid "SetRegionLayerMode"
-#~ msgstr "Fines de regin"
-
-#, fuzzy
-#~ msgid "SetCrossfadeModel"
-#~ msgstr "editar fade in"
-
-#, fuzzy
-#~ msgid "Play from"
-#~ msgstr "Reproducir desde"
-
-#, fuzzy
-#~ msgid "Set from range"
-#~ msgstr "selecionar intervalo de reproduccin cont�ua"
-
-#~ msgid "FORMAT"
-#~ msgstr "FORMATO"
-
-#, fuzzy
-#~ msgid "CD MARKER FILE TYPE"
-#~ msgstr "TIPO DE ARCHIVO"
-
-#~ msgid "CHANNELS"
-#~ msgstr "CANALES"
-
-#~ msgid "FILE TYPE"
-#~ msgstr "TIPO DE ARCHIVO"
-
-#~ msgid "SAMPLE FORMAT"
-#~ msgstr "FORMATO"
-
-#~ msgid "SAMPLE ENDIANNESS"
-#~ msgstr "TIPO DE ENDIAN"
-
-#~ msgid "SAMPLE RATE"
-#~ msgstr "FRECUENCIA DE MUESTREO"
-
-#~ msgid "CONVERSION QUALITY"
-#~ msgstr "CALIDAD DE CONVERSI�"
-
-#~ msgid "DITHER TYPE"
-#~ msgstr "TIPO DE DITHER"
-
-#, fuzzy
-#~ msgid "EXPORT CD MARKER FILE ONLY"
-#~ msgstr "TIPO DE ARCHIVO"
+#: gtk2_ardour/route_time_axis.cc:1409
+msgid "New Copy"
+msgstr "Nueva Copia"
-#~ msgid "EXPORT TO FILE"
-#~ msgstr "EXPORTAR A ARCHIVO"
+#: gtk2_ardour/route_time_axis.cc:1413
+msgid "New Take"
+msgstr "Nueva Toma"
-#, fuzzy
-#~ msgid "ardour: unplugged"
-#~ msgstr "ardour: desconectado"
+#: gtk2_ardour/route_time_axis.cc:1414
+msgid "Copy Take"
+msgstr "Copiar Toma"
-#~ msgid "To be added"
-#~ msgstr "Plugins que se agregar�"
+#: gtk2_ardour/route_time_axis.cc:1419
+msgid "Clear Current"
+msgstr "Borrar actual"
-#~ msgid "Update"
-#~ msgstr "Actualizar"
+#: gtk2_ardour/route_time_axis.cc:1422
+msgid "Select from all ..."
+msgstr "Seleccione de todos..."
-#, fuzzy
-#~ msgid "save"
-#~ msgstr "Guardar"
+#: gtk2_ardour/route_ui.cc:89
+msgid "Mute this track"
+msgstr "Enmudecer esta pista"
-#~ msgid "bypass"
-#~ msgstr "no procesar"
+#: gtk2_ardour/route_ui.cc:94
+msgid "Mute other (non-soloed) tracks"
+msgstr "Enmudecer resto de pistas (que no estén en solo)"
-#~ msgid "Name for plugin settings:"
-#~ msgstr "Nombre para configuracin de plugin"
+#: gtk2_ardour/route_ui.cc:99
+msgid "Enable recording on this track"
+msgstr "Habilitar la grabación en esta pista"
-#~ msgid "Authors"
-#~ msgstr "Autores"
+#: gtk2_ardour/route_ui.cc:246
+msgid "mute change"
+msgstr "cambiar mudo"
-#, fuzzy
-#~ msgid "Sprung"
-#~ msgstr "Salto"
+#: gtk2_ardour/route_ui.cc:348
+#: gtk2_ardour/route_ui.cc:363
+msgid "solo change"
+msgstr "cambiar solo"
-#~ msgid "Wheel"
-#~ msgstr "Rueda"
+#: gtk2_ardour/route_ui.cc:443
+msgid "Not connected to JACK - cannot engage record"
+msgstr "No está conectado a JACK - no se puede activar la grabación"
-#~ msgid "rescan"
-#~ msgstr "buscar de nuevo"
+#: gtk2_ardour/route_ui.cc:457
+msgid "rec-enable change"
+msgstr "cambiar habilitación de grabación"
-#~ msgid "UI: cannot setup meter_bridge"
-#~ msgstr "no se pudo iniciar el medidor volum�rico (VU)"
+#: gtk2_ardour/route_ui.cc:696
+msgid "Solo-safe"
+msgstr "Seguro Solo"
-#, fuzzy
-#~ msgid "Enable/Disable follow playhead"
-#~ msgstr "Habilitar/desbilitar reproduccin cont�ua"
+#: gtk2_ardour/route_ui.cc:718
+msgid "Pre Fader"
+msgstr "Pre-Atenuador"
-#~ msgid "Select sprung or wheel behaviour"
-#~ msgstr "Modo Salto(cambio constante) o Rueda deslizante(cambio moment�eo)"
+#: gtk2_ardour/route_ui.cc:725
+msgid "Post Fader"
+msgstr "Post-Atenuador"
-#~ msgid "Image Compositor"
-#~ msgstr "Compositor de imagen"
+#: gtk2_ardour/route_ui.cc:732
+msgid "Control Outs"
+msgstr "Salidas de Control"
-#~ msgid "Audio Library"
-#~ msgstr "Biblioteca de Audio"
+#: gtk2_ardour/route_ui.cc:739
+msgid "Main Outs"
+msgstr "Salidas Principales"
-#~ msgid "Meter Bridge"
-#~ msgstr "V�ETRO"
+#: gtk2_ardour/route_ui.cc:776
+msgid "mix group solo change"
+msgstr "cambiar solo en grupo de mezcla"
-#~ msgid "Input Connections"
-#~ msgstr "Conecciones de entrada"
+#: gtk2_ardour/route_ui.cc:815
+msgid "mix group mute change"
+msgstr "cambiar mudo en grupo de mezcla"
-#~ msgid "Output Connections"
-#~ msgstr "Conecciones de salida"
+#: gtk2_ardour/route_ui.cc:832
+msgid "mix group rec-enable change"
+msgstr "cambiar habilitación de grabación en grupo de mezcla"
-#, fuzzy
-#~ msgid "New Input"
-#~ msgstr "nueva entrada"
+#: gtk2_ardour/route_ui.cc:850
+#: gtk2_ardour/visual_time_axis.cc:227
+msgid "ardour: color selection"
+msgstr "ardour: selección de color"
-#, fuzzy
-#~ msgid "New Output"
-#~ msgstr "nueva salida"
+#: gtk2_ardour/route_ui.cc:926
+msgid ""
+"Do you really want to remove track \"%1\" ?\n"
+"\n"
+"You may also lose the playlist used by this track.\n"
+"(cannot be undone)"
+msgstr ""
+"¿Realmente desea quitar la pista \"%1\" ?\n"
+"\n"
+"Puede que también pierda la Lista de Reproducción\n"
+"usada por esta pista.\n"
+"(no podrá deshacer esta acción)"
-#, fuzzy
-#~ msgid "Add Port"
-#~ msgstr "agregar puerto"
+#: gtk2_ardour/route_ui.cc:928
+msgid ""
+"Do you really want to remove bus \"%1\" ?\n"
+"(cannot be undone)"
+msgstr ""
+"¿Realmente desea quitar el bus \"%1\" ?\n"
+"(no podrá deshacer esta acción)"
-#~ msgid "Available Ports"
-#~ msgstr "Puertos Disponibles"
+#: gtk2_ardour/route_ui.cc:953
+msgid "New Name: "
+msgstr "Nuevo Nombre: "
-#~ msgid "ardour: connections"
-#~ msgstr "ardour: conecciones"
+#: gtk2_ardour/route_ui.cc:1185
+msgid "Cannot create route template directory %1"
+msgstr ""
-#~ msgid "in %d"
-#~ msgstr "em %d"
+#: gtk2_ardour/route_ui.cc:1191
+msgid "Template name:"
+msgstr "Nombre de Plantilla :"
-#, fuzzy
-#~ msgid "crossfade editor"
-#~ msgstr "editar fade in"
+#: gtk2_ardour/sfdb_ui.cc:77
+#: gtk2_ardour/sfdb_ui.cc:97
+#: gtk2_ardour/sfdb_ui.cc:106
+msgid "as new tracks"
+msgstr "como nuevas pistas"
-#~ msgid "Regions/name"
-#~ msgstr "Regiones/nombre"
+#: gtk2_ardour/sfdb_ui.cc:79
+#: gtk2_ardour/sfdb_ui.cc:99
+msgid "to selected tracks"
+msgstr "a las pistas seleccionadas"
-#, fuzzy
-#~ msgid "Invert"
-#~ msgstr "Invertir"
+#: gtk2_ardour/sfdb_ui.cc:81
+#: gtk2_ardour/sfdb_ui.cc:101
+msgid "to region list"
+msgstr "a Lista de Regiones"
-#~ msgid "Edit:"
-#~ msgstr "Editar:"
+#: gtk2_ardour/sfdb_ui.cc:83
+#: gtk2_ardour/sfdb_ui.cc:103
+msgid "as new tape tracks"
+msgstr "como pistas de cinta"
-#~ msgid "Embed audio (link)"
-#~ msgstr "Linquear a a archivo"
+#: gtk2_ardour/sfdb_ui.cc:87
+msgid "programming error: unknown import mode string %1"
+msgstr ""
-#, fuzzy
-#~ msgid "Cancel cleanup"
-#~ msgstr "Limpiar"
+#: gtk2_ardour/sfdb_ui.cc:115
+msgid "Auto-play"
+msgstr ""
+"Auto\n"
+"Play"
+
+#: gtk2_ardour/sfdb_ui.cc:124
+#: gtk2_ardour/sfdb_ui.cc:234
+msgid "<b>Soundfile Info</b>"
+msgstr "<b>Información del archivo</b>"
+
+#: gtk2_ardour/sfdb_ui.cc:135
+msgid "Length:"
+msgstr "Duración:"
+
+#: gtk2_ardour/sfdb_ui.cc:136
+msgid "Timestamp:"
+msgstr "Marca temporal:"
+
+#: gtk2_ardour/sfdb_ui.cc:137
+msgid "Format:"
+msgstr "Formato:"
+
+#: gtk2_ardour/sfdb_ui.cc:138
+msgid "Channels:"
+msgstr "Canales:"
+
+#: gtk2_ardour/sfdb_ui.cc:139
+#: gtk2_ardour/sfdb_ui.cc:254
+#: gtk2_ardour/sfdb_ui.cc:259
+msgid "Sample rate:"
+msgstr "Frec. de muestreo:"
+
+#: gtk2_ardour/sfdb_ui.cc:171
+#: gtk2_ardour/sfdb_ui.cc:490
+msgid "Tags:"
+msgstr "Etiquetas:"
+
+#: gtk2_ardour/sfdb_ui.cc:181
+msgid "Play (double click)"
+msgstr "Play"
+
+#: gtk2_ardour/sfdb_ui.cc:235
+#: gtk2_ardour/sfdb_ui.cc:236
+#: gtk2_ardour/sfdb_ui.cc:237
+msgid "n/a"
+msgstr "no disponible"
+
+#: gtk2_ardour/sfdb_ui.cc:314
+msgid "Could not read file: %1 (%2)."
+msgstr "No se pudo abrir el archivo %1 (%2)."
-#~ msgid "Name for new edit group"
-#~ msgstr "Nombre para nuevo grupo de edicin"
+#: gtk2_ardour/sfdb_ui.cc:334
+msgid "Could not access soundfile: "
+msgstr "No se pudo acceder al archivo de audio: "
-#, fuzzy
-#~ msgid "Import selected as tracks"
-#~ msgstr "Importar seleccin"
+#: gtk2_ardour/sfdb_ui.cc:380
+msgid "SoundFileBox: Could not tokenize string: "
+msgstr ""
-#~ msgid "ardour: audio import in progress"
-#~ msgstr "ardour: importando archivo de audio"
+#: gtk2_ardour/sfdb_ui.cc:400
+msgid "Search"
+msgstr "Buscar"
-#, fuzzy
-#~ msgid "You can't embed an audiofile until you have a session loaded."
-#~ msgstr "No puede linquear a un archivo a menos que abra o cree una sesin"
+#: gtk2_ardour/sfdb_ui.cc:402
+#: gtk2_ardour/sfdb_ui.cc:792
+msgid "Start Downloading"
+msgstr "Iniciar descarga"
-#, fuzzy
-#~ msgid "Insert selected as new tracks"
-#~ msgstr "Insertar seleccin"
+#: gtk2_ardour/sfdb_ui.cc:417
+msgid "Audio files"
+msgstr "Archivos de audio"
-#~ msgid "Insert selected"
-#~ msgstr "Insertar seleccin"
+#: gtk2_ardour/sfdb_ui.cc:420
+msgid "All files"
+msgstr "Todos los archivos"
-#, fuzzy
-#~ msgid "hidden"
-#~ msgstr "Oculto"
+#: gtk2_ardour/sfdb_ui.cc:431
+msgid "Browse Files"
+msgstr "Explorar archivos"
-#~ msgid "Sorting"
-#~ msgstr "Orden"
+#: gtk2_ardour/sfdb_ui.cc:458
+#: gtk2_ardour/sfdb_ui.cc:505
+msgid "Paths"
+msgstr "Rutas"
-#~ msgid "Regions/length"
-#~ msgstr "Regiones/tamao"
+#: gtk2_ardour/sfdb_ui.cc:467
+msgid "Search Tags"
+msgstr "Buscar etiquetas"
-#~ msgid "Regions/start"
-#~ msgstr "Regiones/in�io"
+#: gtk2_ardour/sfdb_ui.cc:482
+msgid "User:"
+msgstr "Usario:"
-#~ msgid "Regions/end"
-#~ msgstr "Regiones/final"
+#: gtk2_ardour/sfdb_ui.cc:486
+msgid "Password:"
+msgstr "Contraseña:"
-#~ msgid "Regions/file name"
-#~ msgstr "Regiones/nombre del archivo"
+#: gtk2_ardour/sfdb_ui.cc:515
+msgid "Search Freesound"
+msgstr "Buscar en Freesound"
-#~ msgid "Regions/file size"
-#~ msgstr "Regiones/tamao del archivo"
+#: gtk2_ardour/sfdb_ui.cc:698
+msgid "SoundFileBrowser: Could not tokenize string: "
+msgstr ""
-#~ msgid "Regions/file date"
-#~ msgstr "Regiones/fecha del archivo"
+#: gtk2_ardour/sfdb_ui.cc:734
+msgid "Cancelling.."
+msgstr "Cancelando..."
-#~ msgid "Regions/file system"
-#~ msgstr "Regiones/sistema de archivos"
+#: gtk2_ardour/sfdb_ui.cc:959
+#: gtk2_ardour/sfdb_ui.cc:1238
+#: gtk2_ardour/sfdb_ui.cc:1280
+msgid "one track per file"
+msgstr "1 pista por archivo"
-#~ msgid "Show All AbstractTracks"
-#~ msgstr "Mostrar todas las pistas de Audio"
+#: gtk2_ardour/sfdb_ui.cc:962
+#: gtk2_ardour/sfdb_ui.cc:1281
+msgid "one track per channel"
+msgstr "1 pista por canal"
-#~ msgid "Hide All AbstractTracks"
-#~ msgstr "Ocultar todas las pistas de Audio"
+#: gtk2_ardour/sfdb_ui.cc:970
+#: gtk2_ardour/sfdb_ui.cc:1283
+msgid "sequence files"
+msgstr "secuenciar archivos"
-#~ msgid "ardour: soundfile selector"
-#~ msgstr "ardour: seleccin de color"
+#: gtk2_ardour/sfdb_ui.cc:973
+#: gtk2_ardour/sfdb_ui.cc:987
+#: gtk2_ardour/sfdb_ui.cc:1287
+msgid "all files in one region"
+msgstr "todos los archivos en una región"
-#~ msgid "Add to Library..."
-#~ msgstr "Agregar a Biblioteca..."
+#: gtk2_ardour/sfdb_ui.cc:979
+#: gtk2_ardour/sfdb_ui.cc:1285
+msgid "one region per file"
+msgstr "una región por archivo"
-#~ msgid "Remove..."
-#~ msgstr "Quitar..."
+#: gtk2_ardour/sfdb_ui.cc:982
+#: gtk2_ardour/sfdb_ui.cc:1286
+msgid "one region per channel"
+msgstr "una región por canal"
-#~ msgid "Find..."
-#~ msgstr "Buscar..."
+#: gtk2_ardour/sfdb_ui.cc:1040
+msgid ""
+"One or more of the selected files\n"
+"cannot be used by Ardour"
+msgstr ""
+"Uno o más de los archivos seleccionados\n"
+"no puede ser usado por Ardour."
+
+#: gtk2_ardour/sfdb_ui.cc:1167
+msgid "Copy files to session"
+msgstr ""
+"Copiar archivos\n"
+"a la sesión"
+
+#: gtk2_ardour/sfdb_ui.cc:1183
+#: gtk2_ardour/sfdb_ui.cc:1318
+msgid "use file timestamp"
+msgstr "según marca temporal"
+
+#: gtk2_ardour/sfdb_ui.cc:1184
+#: gtk2_ardour/sfdb_ui.cc:1320
+msgid "at edit point"
+msgstr "en Punto de Edición"
+
+#: gtk2_ardour/sfdb_ui.cc:1185
+#: gtk2_ardour/sfdb_ui.cc:1322
+msgid "at playhead"
+msgstr "en Cursor"
+
+#: gtk2_ardour/sfdb_ui.cc:1186
+msgid "at session start"
+msgstr "en Inicio de Sesión"
+
+#: gtk2_ardour/sfdb_ui.cc:1191
+msgid "Add files:"
+msgstr "Agregar:"
+
+#: gtk2_ardour/sfdb_ui.cc:1213
+msgid "Insert:"
+msgstr "Insertar:"
+
+#: gtk2_ardour/sfdb_ui.cc:1226
+msgid "Mapping:"
+msgstr "Mapeo:"
+
+#: gtk2_ardour/sfdb_ui.cc:1244
+msgid "Conversion Quality:"
+msgstr "Conversión:"
+
+#: gtk2_ardour/sfdb_ui.cc:1256
+#: gtk2_ardour/sfdb_ui.cc:1334
+msgid "Best"
+msgstr "La mejor"
+
+#: gtk2_ardour/sfdb_ui.cc:1257
+#: gtk2_ardour/sfdb_ui.cc:1336
+msgid "Good"
+msgstr "Buena"
+
+# Quick=Veloz
+# Fast=Rápida
+# if not, you get two "rápida" entries in the combo
+#: gtk2_ardour/sfdb_ui.cc:1258
+#: gtk2_ardour/sfdb_ui.cc:1338
+msgid "Quick"
+msgstr "Veloz"
+
+#: gtk2_ardour/sfdb_ui.cc:1282
+msgid "merge files"
+msgstr "fusionar archivos"
+
+#: gtk2_ardour/splash.cc:42
+msgid "Ardour loading ..."
+msgstr "Cargando Ardour..."
+
+#: gtk2_ardour/tempo_dialog.cc:36
+msgid "edit tempo"
+msgstr "editar tempo"
+
+#: gtk2_ardour/tempo_dialog.cc:42
+#: gtk2_ardour/tempo_dialog.cc:61
+msgid "Bar"
+msgstr "Compás"
-#~ msgid "Add Folder"
-#~ msgstr "Agregar Carpeta"
+#: gtk2_ardour/tempo_dialog.cc:43
+#: gtk2_ardour/tempo_dialog.cc:62
+msgid "Beat"
+msgstr "Pulso"
-#~ msgid "Add audio file or directory"
-#~ msgstr "Agregar archivo o carpeta"
+#: gtk2_ardour/tempo_dialog.cc:45
+#: gtk2_ardour/tempo_dialog.cc:64
+#: gtk2_ardour/tempo_dialog.cc:276
+#: gtk2_ardour/tempo_dialog.cc:291
+msgid "Location"
+msgstr "Lugar"
-#~ msgid "Importing"
-#~ msgstr "Importando"
+#: gtk2_ardour/tempo_dialog.cc:77
+#: gtk2_ardour/tempo_dialog.cc:94
+#: gtk2_ardour/tempo_dialog.cc:304
+#: gtk2_ardour/tempo_dialog.cc:322
+msgid "whole (1)"
+msgstr "redonda (1)"
-#~ msgid "%1 not added to database"
-#~ msgstr "%1 se agreg a banco de dados"
+#: gtk2_ardour/tempo_dialog.cc:78
+#: gtk2_ardour/tempo_dialog.cc:96
+#: gtk2_ardour/tempo_dialog.cc:305
+#: gtk2_ardour/tempo_dialog.cc:324
+msgid "second (2)"
+msgstr "blanca (2)"
-#~ msgid "Folder name:"
-#~ msgstr "Nombre de carpeta:"
+#: gtk2_ardour/tempo_dialog.cc:79
+#: gtk2_ardour/tempo_dialog.cc:98
+#: gtk2_ardour/tempo_dialog.cc:306
+#: gtk2_ardour/tempo_dialog.cc:326
+msgid "third (3)"
+msgstr "blanca con punto (3)"
+
+#: gtk2_ardour/tempo_dialog.cc:80
+#: gtk2_ardour/tempo_dialog.cc:100
+#: gtk2_ardour/tempo_dialog.cc:108
+#: gtk2_ardour/tempo_dialog.cc:307
+#: gtk2_ardour/tempo_dialog.cc:328
+#: gtk2_ardour/tempo_dialog.cc:336
+msgid "quarter (4)"
+msgstr "negra (4)"
-#~ msgid "Should not be reached"
-#~ msgstr "No deber� alcanzarse"
+#: gtk2_ardour/tempo_dialog.cc:81
+#: gtk2_ardour/tempo_dialog.cc:102
+#: gtk2_ardour/tempo_dialog.cc:308
+#: gtk2_ardour/tempo_dialog.cc:330
+msgid "eighth (8)"
+msgstr "corchea (8)"
-#~ msgid "file \"%1\" could not be opened"
-#~ msgstr "el archivo \"%1\" no se pudo abrir"
+#: gtk2_ardour/tempo_dialog.cc:82
+#: gtk2_ardour/tempo_dialog.cc:104
+#: gtk2_ardour/tempo_dialog.cc:309
+#: gtk2_ardour/tempo_dialog.cc:332
+msgid "sixteenth (16)"
+msgstr "semi corchea (16)"
-#~ msgid "Field name:"
-#~ msgstr "Nombre del campo:"
+#: gtk2_ardour/tempo_dialog.cc:83
+#: gtk2_ardour/tempo_dialog.cc:106
+#: gtk2_ardour/tempo_dialog.cc:310
+#: gtk2_ardour/tempo_dialog.cc:334
+msgid "thirty-second (32)"
+msgstr "fusa (32)"
-#~ msgid "Field value:"
-#~ msgstr "Valor del campo:"
+#: gtk2_ardour/tempo_dialog.cc:110
+msgid "Beats Per Minute:"
+msgstr "Pulsos por minuto:"
-#~ msgid "Find"
-#~ msgstr "Buscar"
+#: gtk2_ardour/tempo_dialog.cc:150
+msgid "Tempo Begins at:"
+msgstr "Tempo comienza en:"
-#~ msgid "AND"
-#~ msgstr "Y"
+#: gtk2_ardour/tempo_dialog.cc:246
+#: gtk2_ardour/tempo_dialog.cc:478
+msgid "garbaged note type entry (%1)"
+msgstr "se descartó el texto (%1)"
-#~ msgid "ardour: locate soundfiles"
-#~ msgstr "ardour: localizar archivos de audio"
+#: gtk2_ardour/tempo_dialog.cc:256
+#: gtk2_ardour/tempo_dialog.cc:488
+msgid "incomprehensible note type entry (%1)"
+msgstr "El formato de este texto es incomprensible (%1)"
-#~ msgid "Results"
-#~ msgstr "Resultados"
+#: gtk2_ardour/tempo_dialog.cc:317
+msgid "thirtq-second (32)"
+msgstr "trigésima segunda (32)"
-#~ msgid "Uris"
-#~ msgstr "URIs"
+# hace referencia al tipo de nota (corchea, semicorchea, etc...)
+# (aparece en la ventana de configuración de compás: pulsos por compás, etc...)
+#: gtk2_ardour/tempo_dialog.cc:338
+msgid "Note Value:"
+msgstr "Valor de nota"
-#~ msgid "Create multi-channel region"
-#~ msgstr "Crear regin multi canal"
+#: gtk2_ardour/tempo_dialog.cc:339
+msgid "Beats Per Bar:"
+msgstr "Pulsos por compás:"
-#~ msgid "Ardour: Search Results"
-#~ msgstr "Ardour: Resultado de Bsqueda"
+#: gtk2_ardour/tempo_dialog.cc:357
+msgid "Meter Begins at Bar:"
+msgstr "Métrica comienza en el compás:"
-#~ msgid "Hide All AudioTrack MixerStrips"
-#~ msgstr "Ocultar todas las pistas de Audio en el Mixer"
+#: gtk2_ardour/theme_manager.cc:54
+msgid "Object"
+msgstr "Objeto"
-#~ msgid "Show All AudioBus MixerStrips"
-#~ msgstr "Mostrar todos los Buses en el Mixer"
+#: gtk2_ardour/theme_manager.cc:187
+msgid "Unable to find UI style file %1. Ardour will look strange"
+msgstr ""
-#~ msgid "Hide All AudioBus MixerStrips"
-#~ msgstr "Ocultar todos los Buses en el Mixer"
+#: gtk2_ardour/time_axis_view.cc:113
+msgid "gTortnam"
+msgstr "gTortnam"
-#~ msgid "Name for new mix group"
-#~ msgstr "Nombre para nuevo grupo del mixer"
+#: gtk2_ardour/time_axis_view.cc:983
+msgid "unknown track height name \"%1\" in XML GUI information"
+msgstr "Altura de pista desconocida \"%1\" en el archivo XML de información de la interfaz gráfica"
-#, fuzzy
-#~ msgid "Create"
-#~ msgstr "Crear"
+#: gtk2_ardour/time_axis_view_item.cc:80
+msgid "TimeAxisViewItemName"
+msgstr ""
-#, fuzzy
-#~ msgid "use control outs"
-#~ msgstr "Usar salidas de Control"
+#: gtk2_ardour/time_axis_view_item.cc:327
+msgid "new duration %1 frames is out of bounds for %2"
+msgstr "La nueva duración de %1 cuadros está por fuera de los límites para %2."
-#, fuzzy
-#~ msgid "automatically connect track outputs to master outs"
-#~ msgstr "conectar autom�icamente salidas de pistas a salidas Master"
+#: gtk2_ardour/time_selection.cc:40
+msgid "programming error: request for non-existent audio range (%1)!"
+msgstr "Error de programación: ¡se solicitó un rango de audio no existente (%1)!"
-#, fuzzy
-#~ msgid "automatically connect track outputs to physical ports"
-#~ msgstr "conectar autom�icamente salidas de pistas a salidas f�icas"
+#: gtk2_ardour/ui_config.cc:82
+msgid "loading default ui configuration file %1"
+msgstr "Cargando el archivo de configuración de interfaz de usuario por defecto %1."
-#, fuzzy
-#~ msgid "show again"
-#~ msgstr "Mostrar toda automatizacin"
+#: gtk2_ardour/ui_config.cc:85
+msgid "Ardour: cannot read default ui configuration file \"%1\""
+msgstr "Ardour: no se pudo leer el archivo de configuración de interfaz de usuario por defecto \"%1\"."
-#
-#, fuzzy
-#~ msgid "new session setup"
-#~ msgstr "Configuracin para nueva sesin"
+#: gtk2_ardour/ui_config.cc:90
+msgid "Ardour: default ui configuration file \"%1\" not loaded successfully."
+msgstr "Ardour: el archivo de configuración de interfaz de usuario por defecto \"%1\" no pudo ser cargado."
-#~ msgid "This session will playback and record at %1 Hz"
-#~ msgstr "Esta sesin reproducir�y grabar�a %1 Hz"
+#: gtk2_ardour/ui_config.cc:108
+msgid "loading user ui configuration file %1"
+msgstr "Cargando el archivo de configuración de interfaz de usuario %1."
-#, fuzzy
-#~ msgid ""
-#~ "This rate is set by JACK and cannot be changed.\n"
-#~ "If you want to use a different sample rate\n"
-#~ "please exit and restart JACK"
-#~ msgstr ""
-#~ "Esta frecuencia de muestreo es configurada por JACK\n"
-#~ "y no puede ser modificada desde Ardour.Si desea una\n"
-#~ "frecuencia de muestreo distinta, cierre Ardour,reinice\n"
-#~ "JACK y vuelva a ejecutar Ardour\n"
+#: gtk2_ardour/ui_config.cc:111
+msgid "Ardour: cannot read ui configuration file \"%1\""
+msgstr "Ardour: no se pudo leer el archivo de configuración de interfaz de usuario \"%1\"."
-#~ msgid "blank"
-#~ msgstr "en blanco"
+#: gtk2_ardour/ui_config.cc:116
+msgid "Ardour: user ui configuration file \"%1\" not loaded successfully."
+msgstr "Ardour: el archivo de configuración de interfaz de usuario \"%1\" no pudo ser cargado."
-#, fuzzy
-#~ msgid "Slave to MTC"
-#~ msgstr "Enviar MTC"
+#: gtk2_ardour/ui_config.cc:139
+msgid "UI config file %1 not saved"
+msgstr "No se salvó el archivo de configuración de interfaz de usuario %1."
-#~ msgid "Narrow mixer strips"
-#~ msgstr "Estrechar pistas del mixer"
+#: gtk2_ardour/utils.cc:138
+#: gtk2_ardour/utils.cc:181
+msgid "bad XPM header %1"
+msgstr "Encabezado XPM erróneo %1."
-#~ msgid "Misc"
-#~ msgstr "Miscel�ea"
+#: gtk2_ardour/utils.cc:320
+msgid "missing RGBA style for \"%1\""
+msgstr "No se encuentra el estilo RGBA para \"%1\"."
-#~ msgid "Broadcast WAVE/floating point"
-#~ msgstr "Broadcast WAVE/punto flotante"
+#: gtk2_ardour/utils.cc:343
+msgid "no style found for %1, using red"
+msgstr "No se encontró el estilo para %1, usando \"red\" (rojo)."
-#~ msgid "WAVE/floating point"
-#~ msgstr "WAVE/punto flotante"
+#: gtk2_ardour/utils.cc:382
+msgid "unknown style attribute %1 requested for color; using \"red\""
+msgstr "Atributo de estilo desconocido (%1) para color; se usará \"red\" (rojo)."
-#~ msgid "Native Format"
-#~ msgstr "Formato Nativo"
+#: gtk2_ardour/utils.cc:601
+msgid "cannot find icon image for %1"
+msgstr "No se pudo encontrar la imagen del ícono para %1."
-#~ msgid "--unknown--"
-#~ msgstr "--desconocido--"
+#: gtk2_ardour/visual_time_axis.cc:266
+msgid ""
+"Do you really want to remove track \"%1\" ?\n"
+"(cannot be undone)"
+msgstr ""
+"¿Desea realmente eliminar la pista \"%1\" ?\n"
+"(no podrá deshacer esta acción)"
-#~ msgid "in"
-#~ msgstr "entrada"
+#: gtk2_ardour/visual_time_axis.cc:315
+msgid "new name: "
+msgstr "nuevo nombre: "
-#~ msgid "ins"
-#~ msgstr "entradas"
+#: gtk2_ardour/connection_editor.cc:50
+msgid "ardour: connections"
+msgstr "ardour: conexiones"
-#~ msgid "out"
-#~ msgstr "salida"
+#: gtk2_ardour/connection_editor.cc:51
+msgid "Input Connections"
+msgstr "Conexiones de Entrada"
-#~ msgid "outs"
-#~ msgstr "salidas"
+#: gtk2_ardour/connection_editor.cc:52
+msgid "Output Connections"
+msgstr "Conexiones de Salida"
-#, fuzzy
-#~ msgid "Select all"
-#~ msgstr "Seleccionar todo"
+#: gtk2_ardour/connection_editor.cc:53
+msgid "New Input"
+msgstr "Nueva Entrada"
-#, fuzzy
-#~ msgid "Inserts"
-#~ msgstr "Invertir"
+#: gtk2_ardour/connection_editor.cc:54
+msgid "New Output"
+msgstr "Nueva Salida"
-#, fuzzy
-#~ msgid "Sends"
-#~ msgstr "Minutos:Segundos"
+#: gtk2_ardour/connection_editor.cc:57
+#: gtk2_ardour/connection_editor.cc:100
+msgid "Add Port"
+msgstr "Agregar Puerto"
-#, fuzzy
-#~ msgid "Select all ..."
-#~ msgstr "Seleccionar todo"
+#: gtk2_ardour/connection_editor.cc:105
+msgid "Available Ports"
+msgstr "Puertos Disponibles"
-#~ msgid "Pre Redirects"
-#~ msgstr "Pre Redireccionamentos"
+#: gtk2_ardour/connection_editor.cc:500
+msgid "Connection \""
+msgstr "Conexión \""
-#~ msgid "Post Redirects"
-#~ msgstr "Pst Redireccionamentos"
+#: gtk2_ardour/connection_editor.cc:502
+msgid "\""
+msgstr "\""
-#, fuzzy
-#~ msgid "Trace MIDI Input"
-#~ msgstr "Vigilar Entrada de MIDI"
+#: gtk2_ardour/connection_editor.cc:531
+#, c-format
+msgid "in %d"
+msgstr "entrada %d"
-#, fuzzy
-#~ msgid "Trace MIDI Output"
-#~ msgstr "Vigilar Salida de MIDI"
+#: gtk2_ardour/connection_editor.cc:533
+#, c-format
+msgid "out %d"
+msgstr "salida %d"
-#~ msgid "MTC Port"
-#~ msgstr "Puerto MTC"
+#: gtk2_ardour/connection_editor.cc:657
+msgid "Name for new connection:"
+msgstr "Nombre de la nueva conexión: "
-#~ msgid "attempt to timestretch a non-audio track!"
-#~ msgstr "se intent hacer estiramiento a una pista que no es de audio!"
+#: gtk2_ardour/analysis_window.cc:46
+msgid "Signal source"
+msgstr "Fuente de señal"
-#~ msgid "ardour: tempo editor"
-#~ msgstr "ardour: editor de tempo"
+#: gtk2_ardour/analysis_window.cc:47
+msgid "Selected ranges"
+msgstr "Rangos seleccionados"
-#~ msgid "ok"
-#~ msgstr "ok"
+# (de la ventana de FFT)
+#: gtk2_ardour/analysis_window.cc:50
+msgid "Display model"
+msgstr "Modelo de visualización"
-#, fuzzy
-#~ msgid "apply"
-#~ msgstr "aplicar"
+#: gtk2_ardour/analysis_window.cc:51
+msgid "Composite graphs for each track"
+msgstr "Gráficos compuestos para cada pista"
-#, fuzzy
-#~ msgid "Edit left"
-#~ msgstr "Modo de edicin"
+#: gtk2_ardour/analysis_window.cc:52
+msgid "Composite graph of all tracks"
+msgstr "Gráfico compuesto de todas las pistas"
-#, fuzzy
-#~ msgid "Edit right"
-#~ msgstr "Editar con"
+#: gtk2_ardour/analysis_window.cc:54
+msgid "Show frequency power range"
+msgstr "Mostrar rango de potencia de frecuencias"
-#, fuzzy
-#~ msgid "Edit fade"
-#~ msgstr "Modo de edicin"
+#: gtk2_ardour/analysis_window.cc:55
+msgid "Normalize values"
+msgstr "Normalizar valores"
-#, fuzzy
-#~ msgid "Bounce region"
-#~ msgstr "Grabar seleccin"
+#: gtk2_ardour/analysis_window.cc:59
+#: gtk2_ardour/analysis_window.cc:60
+msgid "FFT analysis window"
+msgstr "Ventana de análisis FFT"
-#~ msgid "clear connections"
-#~ msgstr "Quitar conecciones"
+#: gtk2_ardour/analysis_window.cc:135
+msgid "Re-analyze data"
+msgstr "Re-analizar datos"
-#, fuzzy
-#~ msgid "outside this computer"
-#~ msgstr "Ocultar esta pista"
+#~ msgid "Magnetic Snap"
+#~ msgstr "Ajuste Magnético"
-#, fuzzy
-#~ msgid "inside this computer"
-#~ msgstr "Ocultar esta pista"
diff --git a/gtk2_ardour/po/sv_SE.po b/gtk2_ardour/po/sv_SE.po
index 199b46a..fb56e0b 100644
--- a/gtk2_ardour/po/sv_SE.po
+++ b/gtk2_ardour/po/sv_SE.po
@@ -5525,9 +5525,13 @@ msgstr ""
"men vid punkten det infogades finns bara\n"
"%3 aktiva signalströmmar.\n"
"\n"
-"Detta är orimligt - du slängers bort\n"
+"Detta är orimligt - du slänger bort\n"
"en del av signalen."
+#: gtk2_ardour/redirect_box.cc:422 gtk2_ardour/redirect_box.cc:725
+msgid "ardour: weird plugin dialog"
+msgstr "ardour: underlig plugin"
+
#: ../redirect_box.cc:394
msgid ""
"You attempted to add a plugin (%1).\n"
@@ -7699,3 +7703,55 @@ msgstr "Använd regiontoningar (globalt)"
msgid "Ranges"
msgstr "Omfång"
+#: gtk2_ardour/mixer_strip.cc:1049
+msgid "Save As Template"
+msgstr "Spara som spårmall"
+
+#: gtk2_ardour/add_route_dialog.cc:68
+msgid "Using this template:"
+msgstr "Med denna spårmall:"
+
+#: gtk2_ardour/add_route_dialog.cc:119
+msgid "Add this many:"
+msgstr "Lägg till:"
+
+
+#: gtk2_ardour/add_route_dialog.cc:144
+msgid "OR"
+msgstr "ELLER"
+
+#: gtk2_ardour/route_ui.cc:1191
+msgid "Template name:"
+msgstr "Namn på spårmall:"
+
+#: gtk2_ardour/add_route_dialog.cc:174
+msgid "Track Mode"
+msgstr "Spårläge"
+
+#: gtk2_ardour/ardour_ui_ed.cc:206
+msgid "Toggle Editor Mixer on Top"
+msgstr "Växla Redigerare & Mixer överst"
+
+#: gtk2_ardour/ardour_ui_ed.cc:449
+msgid "New plugins are active"
+msgstr "Nya insticksprogram är aktiverade"
+
+#: gtk2_ardour/editor_actions.cc:393
+msgid "Add 1 Range Marker"
+msgstr "Lägga till 1 omfångsmarkör"
+
+#: gtk2_ardour/editor_actions.cc:396
+msgid "Add Range Marker(s)"
+msgstr "Lägga till omfångsmarkörer"
+
+#: gtk2_ardour/ardour_ui_ed.cc:597
+msgid "Auto Rebind Controls"
+msgstr "Återkoppla kontroller automatiskt"
+
+#: gtk2_ardour/ardour_ui_ed.cc:514
+msgid "Override muting"
+msgstr "Åsidosätt tystning "
+
+#: gtk2_ardour/editor.cc:1965
+msgid "Add Single Range"
+msgstr "Lägg till enskilt omfång "
diff --git a/gtk2_ardour/redirect_automation_line.cc b/gtk2_ardour/redirect_automation_line.cc
index b1b19d5..942344a 100644
--- a/gtk2_ardour/redirect_automation_line.cc
+++ b/gtk2_ardour/redirect_automation_line.cc
@@ -58,6 +58,7 @@ RedirectAutomationLine::RedirectAutomationLine (const string & name, Redirect& r
upper = desc.upper;
lower = desc.lower;
+ range = upper - lower;
if (desc.toggled) {
no_draw = true;
@@ -65,7 +66,6 @@ RedirectAutomationLine::RedirectAutomationLine (const string & name, Redirect& r
}
no_draw = false;
- range = upper - lower;
/* XXX set min/max for underlying curve ??? */
}
diff --git a/gtk2_ardour/redirect_box.cc b/gtk2_ardour/redirect_box.cc
index 2a696e2..e743be2 100644
--- a/gtk2_ardour/redirect_box.cc
+++ b/gtk2_ardour/redirect_box.cc
@@ -78,6 +78,7 @@ using namespace Glib;
using namespace Gtkmm2ext;
RedirectBox* RedirectBox::_current_redirect_box = 0;
+RefPtr<Action> RedirectBox::cut_action;
RefPtr<Action> RedirectBox::paste_action;
bool RedirectBox::get_colors = true;
Gdk::Color* RedirectBox::active_redirect_color;
@@ -157,6 +158,7 @@ RedirectBox::set_route (boost::shared_ptr<Route> r)
connections.push_back (_route->redirects_changed.connect (mem_fun(*this, &RedirectBox::redisplay_redirects)));
connections.push_back (_route->GoingAway.connect (mem_fun (*this, &RedirectBox::route_going_away)));
+ connections.push_back (_route->name_changed.connect (mem_fun(*this, &RedirectBox::route_name_changed)));
redisplay_redirects (0);
}
@@ -254,6 +256,8 @@ RedirectBox::show_redirect_menu (gint arg)
plugin_menu_item->set_submenu (_plugin_selector.plugin_menu());
}
+ cut_action->set_sensitive (can_cut_redirects ());
+
paste_action->set_sensitive (!_rr_selection.redirects.empty());
redirect_menu->popup (1, arg);
@@ -342,7 +346,11 @@ RedirectBox::redirect_button_release_event (GdkEventButton *ev)
show_redirect_menu(ev->time);
ret = true;
- } else if (redirect && Keyboard::is_button2_event (ev) && (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))) {
+ } else if (redirect && Keyboard::is_button2_event (ev)
+#ifndef GTKOSX
+ && (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))
+#endif
+ ) {
/* button2-click with no modifiers */
@@ -762,6 +770,23 @@ RedirectBox::rename_redirects ()
}
}
+bool
+RedirectBox::can_cut_redirects ()
+{
+ vector<boost::shared_ptr<Redirect> > sel;
+ get_selected_redirects (sel);
+
+ /* cut_redirects () does not cut inserts or sends */
+ for (vector<boost::shared_ptr<Redirect> >::const_iterator i = sel.begin (); i != sel.end (); ++i) {
+
+ if (boost::dynamic_pointer_cast<PluginInsert>(*i) != 0) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
void
RedirectBox::cut_redirects ()
{
@@ -1128,10 +1153,7 @@ RedirectBox::edit_redirect (boost::shared_ptr<Redirect> redirect)
plugin_ui->set_title (title.get_string());
plugin_insert->set_gui (plugin_ui);
-
- // change window title when route name is changed
- _route->name_changed.connect (bind (mem_fun(*this, &RedirectBox::route_name_changed), plugin_ui, boost::weak_ptr<PluginInsert> (plugin_insert)));
-
+
} else {
plugin_ui = reinterpret_cast<PluginUIWindow *> (plugin_insert->get_gui());
plugin_ui->set_parent (win);
@@ -1206,8 +1228,8 @@ RedirectBox::register_actions ()
ActionManager::register_action (popup_act_grp, X_("clear"), _("Clear"), sigc::ptr_fun (RedirectBox::rb_clear));
/* standard editing stuff */
- act = ActionManager::register_action (popup_act_grp, X_("cut"), _("Cut"), sigc::ptr_fun (RedirectBox::rb_cut));
- ActionManager::plugin_selection_sensitive_actions.push_back(act);
+ cut_action = ActionManager::register_action (popup_act_grp, X_("cut"), _("Cut"), sigc::ptr_fun (RedirectBox::rb_cut));
+ ActionManager::plugin_selection_sensitive_actions.push_back (cut_action);
act = ActionManager::register_action (popup_act_grp, X_("copy"), _("Copy"), sigc::ptr_fun (RedirectBox::rb_copy));
ActionManager::plugin_selection_sensitive_actions.push_back(act);
@@ -1391,16 +1413,39 @@ RedirectBox::rb_edit ()
}
void
-RedirectBox::route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::weak_ptr<PluginInsert> wpi)
+RedirectBox::route_name_changed (void* src)
{
- ENSURE_GUI_THREAD(bind (mem_fun (*this, &RedirectBox::route_name_changed), src, plugin_ui, wpi));
- boost::shared_ptr<PluginInsert> pi (wpi.lock());
-
+ boost::shared_ptr<Redirect> redirect;
+ boost::shared_ptr<Insert> insert;
+ Gtk::TreeModel::Children children = model->children();
+
+ for (Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
+ Gtk::TreeModel::Row row = *iter;
+
+ redirect= row[columns.redirect];
+
+ void* gui = redirect->get_gui();
+
+ if (!gui) {
+ continue;
+ }
- if (pi) {
- WindowTitle title(Glib::get_application_name());
- title += generate_redirect_title (pi);
- plugin_ui->set_title (title.get_string());
+ /* rename editor windows for sends and plugins */
+
+ WindowTitle title (Glib::get_application_name());
+
+ if ((insert = boost::dynamic_pointer_cast<Insert> (redirect)) == 0) {
+ boost::shared_ptr<Send> send = boost::dynamic_pointer_cast<Send> (redirect);
+ title += send->name();
+ static_cast<Window*>(gui)->set_title (title.get_string());
+ } else {
+ boost::shared_ptr<PluginInsert> plugin_insert;
+
+ if ((plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (insert)) != 0) {
+ title += generate_redirect_title (plugin_insert);
+ }
+ static_cast<Window*>(gui)->set_title (title.get_string());
+ }
}
}
diff --git a/gtk2_ardour/redirect_box.h b/gtk2_ardour/redirect_box.h
index bb00d82..b7d7e32 100644
--- a/gtk2_ardour/redirect_box.h
+++ b/gtk2_ardour/redirect_box.h
@@ -99,6 +99,7 @@ class RedirectBox : public Gtk::HBox, public PluginInterestedObject
RouteRedirectSelection & _rr_selection;
void route_going_away ();
+ bool can_cut_redirects ();
struct ModelColumns : public Gtk::TreeModel::ColumnRecord {
ModelColumns () {
@@ -183,6 +184,7 @@ class RedirectBox : public Gtk::HBox, public PluginInterestedObject
void for_selected_redirects (void (RedirectBox::*pmf)(boost::shared_ptr<ARDOUR::Redirect>));
void get_selected_redirects (vector<boost::shared_ptr<ARDOUR::Redirect> >&);
+ static Glib::RefPtr<Gtk::Action> cut_action;
static Glib::RefPtr<Gtk::Action> paste_action;
void paste_redirect_list (const std::list<boost::shared_ptr<ARDOUR::Redirect> >& redirects);
@@ -219,7 +221,7 @@ class RedirectBox : public Gtk::HBox, public PluginInterestedObject
static void rb_deactivate_all ();
static void rb_edit ();
- void route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::weak_ptr<ARDOUR::PluginInsert> pi);
+ void route_name_changed (void* src);
std::string generate_redirect_title (boost::shared_ptr<ARDOUR::PluginInsert> pi);
};
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 1a85ef0..303a697 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -396,13 +396,8 @@ RouteTimeAxisView::playlist_click ()
void
RouteTimeAxisView::automation_click ()
{
- if (automation_action_menu == 0) {
- /* this seems odd, but the automation action
- menu is built as part of the display menu.
- */
- build_display_menu ();
- }
conditionally_add_to_selection ();
+ build_automation_action_menu ();
automation_action_menu->popup (1, gtk_get_current_event_time());
}
@@ -453,6 +448,7 @@ RouteTimeAxisView::build_display_menu ()
if (!Profile->get_sae()) {
build_remote_control_menu ();
items.push_back (MenuElem (_("Remote Control ID"), *remote_control_menu));
+ /* rebuild this every time */
build_automation_action_menu ();
items.push_back (MenuElem (_("Automation"), *automation_action_menu));
items.push_back (SeparatorElem());
@@ -1465,7 +1461,6 @@ RouteTimeAxisView::use_playlist (boost::weak_ptr<Playlist> wpl)
Track *track = dynamic_cast<Track *>(*i);
if (!track) {
- std::cerr << "route " << (*i)->name() << " is not a Track" << std::endl;
continue;
}
@@ -1888,7 +1883,7 @@ RouteTimeAxisView::redirects_changed (void *src)
++tmp;
if (!(*i)->valid) {
-
+
delete *i;
redirect_automation.erase (i);
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index cc4f541..74d95a4 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -23,6 +23,7 @@
#include <gtkmm2ext/doi.h>
#include <gtkmm2ext/bindable_button.h>
#include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/prompter.h>
#include <ardour/route_group.h>
#include <pbd/memento_command.h>
@@ -41,6 +42,7 @@
#include <ardour/audio_track.h>
#include <ardour/audio_diskstream.h>
#include <ardour/profile.h>
+#include <ardour/utils.h>
#include "i18n.h"
using namespace sigc;
@@ -68,6 +70,7 @@ RouteUI::RouteUI (boost::shared_ptr<ARDOUR::Route> rt,
void
RouteUI::init ()
{
+ self_destruct = true;
xml_node = 0;
mute_menu = 0;
solo_menu = 0;
@@ -147,7 +150,9 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
up when the route is destroyed.
*/
- new PairedShiva<Route,RouteUI> (*_route, *this);
+ if (self_destruct) {
+ new PairedShiva<Route,RouteUI> (*_route, *this);
+ }
mute_button->set_controllable (&_route->mute_control());
mute_button->set_label (m_name);
@@ -187,7 +192,9 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
RouteUI::~RouteUI()
{
- GoingAway (); /* EMIT SIGNAL */
+ /* derived classes should emit GoingAway so that they receive the signal
+ when the object is still a legal derived instance.
+ */
if (solo_menu) {
delete solo_menu;
@@ -691,7 +698,7 @@ RouteUI::build_solo_menu (void)
MenuList& items = solo_menu->items();
CheckMenuItem* check;
- check = new CheckMenuItem(_("Solo-safe"));
+ check = new CheckMenuItem(_("Solo Locke "));
check->set_active (_route->solo_safe());
check->signal_toggled().connect (bind (mem_fun (*this, &RouteUI::toggle_solo_safe), check));
_route->solo_safe_changed.connect(bind (mem_fun (*this, &RouteUI::solo_safe_toggle), check));
@@ -1170,3 +1177,38 @@ RouteUI::map_frozen ()
}
}
+void
+RouteUI::save_as_template ()
+{
+ Glib::ustring path;
+ Glib::ustring safe_name;
+ std::string name;
+
+ path = Session::route_template_dir();
+
+ if (g_mkdir_with_parents (path.c_str(), 0755)) {
+ error << string_compose (_("Cannot create route template directory %1"), path) << endmsg;
+ return;
+ }
+
+ Prompter p (true); // modal
+
+ p.set_prompt (_("Template name:"));
+ switch (p.run()) {
+ case RESPONSE_ACCEPT:
+ break;
+ default:
+ return;
+ }
+
+ p.hide ();
+ p.get_result (name, true);
+
+ safe_name = legalize_for_path (name);
+ safe_name += Session::template_suffix ();
+
+ path = Glib::build_filename (path, safe_name);
+
+ _route->save_as_template (path, name);
+}
+
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index c468f84..f58c8f4 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -89,6 +89,8 @@ class RouteUI : public virtual AxisView
void ensure_xml_node ();
XMLNode* get_child_xml_node (const string & childname);
+
+ void save_as_template ();
bool mute_press(GdkEventButton*);
bool mute_release(GdkEventButton*);
@@ -168,8 +170,12 @@ class RouteUI : public virtual AxisView
std::string m_name;
std::string r_name;
+ bool self_destruct;
+
void init ();
void reset ();
+
+ void save_template (const std::string&);
};
#endif /* __ardour_route_ui__ */
diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc
index 6220455..7a59fe9 100644
--- a/gtk2_ardour/tempo_dialog.cc
+++ b/gtk2_ardour/tempo_dialog.cc
@@ -82,13 +82,7 @@ TempoDialog::init (const BBT_Time& when, double bpm, double note_type, bool mova
strings.push_back (_("sixteenth (16)"));
strings.push_back (_("thirty-second (32)"));
- /* the string here needs to be the longest one to display */
- const guint32 FUDGE = 20; // Combo's are stupid - they steal space from the entry for the button
- // TRANSLATORS: this is not a mis-spelling of "thirty", we're including a vertical
- // descender to make sure the height gets computed properly.
- Gtkmm2ext::set_size_request_to_display_given_text (note_types, "thirtq-second (32)", 7+FUDGE, 15);
-
- set_popdown_strings (note_types, strings);
+ set_popdown_strings (note_types, strings, true);
if (note_type==1.0f)
note_types.set_active_text (_("whole (1)"));
@@ -309,14 +303,7 @@ MeterDialog::init (const BBT_Time& when, double bpb, double note_type, bool mova
strings.push_back (_("sixteenth (16)"));
strings.push_back (_("thirty-second (32)"));
- /* the string here needs to be the longest one to display */
- const guint32 FUDGE = 20; // Combo's are stupid - they steal space from the entry for the button
-
- // TRANSLATORS: this is not a mis-spelling of "thirty", we're including a vertical
- // descender to make sure the height gets computed properly.
- Gtkmm2ext::set_size_request_to_display_given_text (note_types, _("thirtq-second (32)"), 7+FUDGE, 15);
-
- set_popdown_strings (note_types, strings);
+ set_popdown_strings (note_types, strings, true);
if (note_type==1.0f)
note_types.set_active_text (_("whole (1)"));
diff --git a/gtk2_ardour/visual_time_axis.cc b/gtk2_ardour/visual_time_axis.cc
index 2035293..468b967 100644
--- a/gtk2_ardour/visual_time_axis.cc
+++ b/gtk2_ardour/visual_time_axis.cc
@@ -84,18 +84,22 @@ VisualTimeAxis::VisualTimeAxis(const string & name, PublicEditor& ed, ARDOUR::Se
size_button.set_name("TrackSizeButton") ;
visual_button.set_name("TrackVisualButton") ;
hide_button.set_name("TrackRemoveButton") ;
- hide_button.add(*(Gtk::manage(new Gtk::Image(get_xpm("small_x.xpm")))));
+ hide_button.add (*(manage (new Image (::get_icon("hide")))));
+ hide_button.show_all ();
+
size_button.signal_button_release_event().connect (mem_fun (*this, &VisualTimeAxis::size_click)) ;
visual_button.signal_clicked().connect (mem_fun (*this, &VisualTimeAxis::visual_click)) ;
hide_button.signal_clicked().connect (mem_fun (*this, &VisualTimeAxis::hide_click)) ;
ARDOUR_UI::instance()->tooltips().set_tip(size_button,_("Display Height")) ;
ARDOUR_UI::instance()->tooltips().set_tip(visual_button, _("Visual options")) ;
ARDOUR_UI::instance()->tooltips().set_tip(hide_button, _("Hide this track")) ;
-
+
+if (0) {
+ /* old school - when we used to put an extra row of buttons in place */
controls_table.attach (hide_button, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
controls_table.attach (visual_button, 1, 2, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
controls_table.attach (size_button, 2, 3, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND);
-
+}
/* remove focus from the buttons */
size_button.unset_flags(Gtk::CAN_FOCUS) ;
hide_button.unset_flags(Gtk::CAN_FOCUS) ;
@@ -154,15 +158,21 @@ VisualTimeAxis::set_height(uint32_t h)
if (h >= hNormal) {
hide_name_label ();
show_name_entry ();
- other_button_hbox.show_all() ;
+ visual_button.show();
+ size_button.show();
+ hide_button.show();
} else if (h >= hSmaller) {
hide_name_label ();
show_name_entry ();
- other_button_hbox.hide_all() ;
+ visual_button.hide ();
+ size_button.hide ();
+ hide_button.hide();
} else if (h >= hSmall) {
hide_name_entry ();
show_name_label ();
- other_button_hbox.hide_all() ;
+ visual_button.hide ();
+ size_button.hide ();
+ hide_button.hide ();
}
}
diff --git a/gtk2_ardour/vst_pluginui.cc b/gtk2_ardour/vst_pluginui.cc
index 6fee847..19a0826 100644
--- a/gtk2_ardour/vst_pluginui.cc
+++ b/gtk2_ardour/vst_pluginui.cc
@@ -18,6 +18,7 @@
*/
#include <fst.h>
+#include <gtk/gtk.h>
#include <gtk/gtksocket.h>
#include <ardour/insert.h>
#include <ardour/vst_plugin.h>
@@ -34,11 +35,17 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<
: PlugUIBase (pi),
vst (vp)
{
+ create_preset_store ();
+
fst_run_editor (vst->fst());
+ preset_box.set_spacing (6);
+ preset_box.set_border_width (6);
preset_box.pack_end (bypass_button, false, false, 10);
preset_box.pack_end (save_button, false, false);
- preset_box.pack_end (preset_combo, false, false);
+ preset_box.pack_end (vst_preset_combo, false, false);
+
+ vst_preset_combo.signal_changed().connect (mem_fun (*this, &VSTPluginUI::preset_chosen));
bypass_button.set_active (!insert->active());
@@ -48,7 +55,16 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<
VSTPluginUI::~VSTPluginUI ()
{
- // nothing to do here - plugin destructor destroys the GUI
+ // plugin destructor destroys the custom GUI, via Windows fun-and-games,
+ // and then our PluginUIWindow does the rest
+}
+
+void
+VSTPluginUI::preset_chosen ()
+{
+ // we can't dispatch directly here, too many plugins only expects one GUI thread.
+ vst->fst()->want_program = vst_preset_combo.get_active_row_number ();
+ socket.grab_focus ();
}
int
@@ -76,6 +92,8 @@ VSTPluginUI::package (Gtk::Window& win)
socket.add_id (fst_get_XID (vst->fst()));
+ fst_move_window_into_view (vst->fst());
+
return 0;
}
@@ -118,3 +136,68 @@ VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
return false;
}
+void
+VSTPluginUI::create_preset_store ()
+{
+ FST *fst = vst->fst();
+ int vst_version = fst->plugin->dispatcher (fst->plugin, effGetVstVersion, 0, 0, NULL, 0.0f);
+
+ preset_model = ListStore::create (preset_columns);
+
+ for (int i = 0; i < fst->plugin->numPrograms; ++i) {
+ char buf[100];
+ TreeModel::Row row = *(preset_model->append());
+
+ snprintf (buf, 90, "preset %d", i);
+
+ if (vst_version >= 2) {
+ fst->plugin->dispatcher (fst->plugin, 29, i, 0, buf, 0.0);
+ }
+
+ row[preset_columns.name] = buf;
+ row[preset_columns.number] = i;
+ }
+
+ if (fst->plugin->numPrograms > 0) {
+ fst->plugin->dispatcher( fst->plugin, effSetProgram, 0, 0, NULL, 0.0 );
+ }
+
+ vst_preset_combo.set_model (preset_model);
+
+ CellRenderer* renderer = manage (new CellRendererText());
+ vst_preset_combo.pack_start (*renderer, true);
+ vst_preset_combo.add_attribute (*renderer, "text", 0);
+
+ if (vst->fst()->current_program != -1) {
+ vst_preset_combo.set_active (vst->fst()->current_program);
+ } else {
+ vst_preset_combo.set_active (0);
+ }
+}
+
+typedef int (*error_handler_t)( Display *, XErrorEvent *);
+static Display *the_gtk_display;
+static error_handler_t wine_error_handler;
+static error_handler_t gtk_error_handler;
+
+static int
+fst_xerror_handler( Display *disp, XErrorEvent *ev )
+{
+ if (disp == the_gtk_display) {
+ printf ("relaying error to gtk\n");
+ return gtk_error_handler (disp, ev);
+ } else {
+ printf( "relaying error to wine\n" );
+ return wine_error_handler (disp, ev);
+ }
+}
+
+void
+gui_init (int *argc, char **argv[])
+{
+ wine_error_handler = XSetErrorHandler (NULL);
+ gtk_init (argc, argv);
+ the_gtk_display = gdk_x11_display_get_xdisplay (gdk_display_get_default());
+ gtk_error_handler = XSetErrorHandler( fst_xerror_handler );
+}
+
diff --git a/libs/ardour/SConscript b/libs/ardour/SConscript
index 1610130..100986b 100644
--- a/libs/ardour/SConscript
+++ b/libs/ardour/SConscript
@@ -23,6 +23,7 @@ ardour.Append(POTFILE = domain + '.pot')
if ardour['IS_OSX']:
ardour.Append (LINKFLAGS="-Xlinker -headerpad -Xlinker 2048")
+
#
# explicitly reference the control protocol LGPL library for includes
#
@@ -253,6 +254,8 @@ if conf.CheckCHeader('/System/Library/Frameworks/CoreAudio.framework/Headers/Cor
if conf.CheckCHeader('/System/Library/Frameworks/AudioUnit.framework/Headers/AudioUnit.h') and ardour['AUDIOUNITS']:
ardour.Append(CXXFLAGS="-DHAVE_AUDIOUNITS")
ardour.Append(LINKFLAGS="-framework AudioUnit")
+ if ardour['AUSTATE']:
+ ardour.Append(CXXFLAGS="-DAU_STATE_SUPPORT")
extra_sources += audiounit_files
if ardour['COREAUDIO']:
diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h
index 96a12c9..b972263 100644
--- a/libs/ardour/ardour/audio_track.h
+++ b/libs/ardour/ardour/audio_track.h
@@ -52,14 +52,15 @@ class AudioTrack : public Track
int use_diskstream (string name);
int use_diskstream (const PBD::ID& id);
-
- int export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t nframes, nframes_t end_frame);
+ void use_new_diskstream ();
+
+ int export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t nframes, nframes_t end_frame, bool enable_processing = true);
void freeze (InterThreadInfo&);
void unfreeze ();
boost::shared_ptr<Region> bounce (InterThreadInfo&);
- boost::shared_ptr<Region> bounce_range (nframes_t start, nframes_t end, InterThreadInfo&);
+ boost::shared_ptr<Region> bounce_range (nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing);
int set_state(const XMLNode& node);
diff --git a/libs/ardour/ardour/audio_unit.h b/libs/ardour/ardour/audio_unit.h
index 0798678..50c7c5f 100644
--- a/libs/ardour/ardour/audio_unit.h
+++ b/libs/ardour/ardour/audio_unit.h
@@ -28,6 +28,7 @@
#include <set>
#include <string>
#include <vector>
+#include <map>
#include <ardour/plugin.h>
@@ -96,7 +97,8 @@ class AUPlugin : public ARDOUR::Plugin
bool save_preset (string name);
bool load_preset (const string preset_label);
std::vector<std::string> get_presets ();
-
+ std::string current_preset() const;
+
bool has_editor () const;
int32_t can_do (int32_t in, int32_t& out);
@@ -115,13 +117,18 @@ class AUPlugin : public ARDOUR::Plugin
private:
boost::shared_ptr<CAComponent> comp;
boost::shared_ptr<CAAudioUnit> unit;
-
+
bool initialized;
int32_t input_channels;
int32_t output_channels;
std::vector<std::pair<int,int> > io_configs;
AudioBufferList* buffers;
-
+
+ /* XXX this should really be shared across all AUPlugin instances */
+
+ typedef std::map<std::string,std::string> PresetMap;
+ PresetMap preset_map;
+
UInt32 global_elements;
UInt32 output_elements;
UInt32 input_elements;
@@ -167,9 +174,10 @@ class AUPluginInfo : public PluginInfo {
private:
boost::shared_ptr<CAComponentDescription> descriptor;
UInt32 version;
-
+
static void discover_music (PluginInfoList&);
static void discover_fx (PluginInfoList&);
+ static void discover_generators (PluginInfoList&);
static void discover_by_description (PluginInfoList&, CAComponentDescription&);
static Glib::ustring au_cache_path ();
diff --git a/libs/ardour/ardour/configuration_vars.h b/libs/ardour/ardour/configuration_vars.h
index 481dad6..22ec734 100644
--- a/libs/ardour/ardour/configuration_vars.h
+++ b/libs/ardour/ardour/configuration_vars.h
@@ -78,6 +78,8 @@ CONFIG_VARIABLE (EditMode, edit_mode, "edit-mode", Slide)
CONFIG_VARIABLE (LayerModel, layer_model, "layer-model", MoveAddHigher)
CONFIG_VARIABLE (bool, link_region_and_track_selection, "link-region-and-track-selection", false)
CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ansi")
+CONFIG_VARIABLE (bool, region_boundaries_from_selected_tracks, "region-boundaries-from-selected-tracks", true)
+CONFIG_VARIABLE (bool, region_boundaries_from_onscreen_tracks, "region-boundaries-from-onscreen_tracks", true)
/* monitoring, mute, solo etc */
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 0e81c75..a9be3c9 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -216,6 +216,8 @@ class IO : public PBD::StatefulDestructible
static void update_meters();
+ static std::string name_from_state (const XMLNode&);
+ static void set_name_in_state (XMLNode&, const std::string&);
private:
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index abf2867..c983afd 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -138,6 +138,9 @@ class Plugin : public PBD::StatefulDestructible
virtual bool save_preset(string name) = 0;
virtual bool load_preset (const string preset_label);
virtual std::vector<std::string> get_presets();
+ virtual std::string current_preset() const { return std::string(); }
+
+ static sigc::signal<bool> PresetFileExists;
virtual bool has_editor() const = 0;
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index 74eef70..bff6c7d 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -33,24 +33,11 @@ class AudioEngine;
class Port : public sigc::trackable {
public:
virtual ~Port() {
- free (_port);
+ // Port is an opage pointer, so should be be desallocated ??
}
Sample *get_buffer (nframes_t nframes) {
- if (_flags & JackPortIsOutput) {
- return _buffer;
- } else {
- return (Sample *) jack_port_get_buffer (_port, nframes);
- }
- }
-
- void reset_buffer () {
- if (_flags & JackPortIsOutput) {
- _buffer = (Sample *) jack_port_get_buffer (_port, 0);
- } else {
- _buffer = 0; /* catch illegal attempts to use it */
- }
- _silent = false;
+ return (Sample *) jack_port_get_buffer (_port, nframes);
}
std::string name() {
@@ -166,7 +153,7 @@ class Port : public sigc::trackable {
/** Assumes that the port is an audio output port */
void silence (nframes_t nframes, nframes_t offset) {
if (!_silent) {
- memset (_buffer + offset, 0, sizeof (Sample) * nframes);
+ memset ((Sample *) jack_port_get_buffer (_port, nframes) + offset, 0, sizeof (Sample) * nframes);
if (offset == 0) {
/* XXX this isn't really true, but i am not sure
how to set this correctly. we really just
@@ -190,8 +177,6 @@ class Port : public sigc::trackable {
/* engine isn't supposed to below here */
- Sample *_buffer;
-
/* cache these 3 from JACK so that we can
access them for reconnecting.
*/
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 0ac50f4..c3c92e9 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -206,6 +206,8 @@ class Route : public IO
int set_state(const XMLNode& node);
virtual XMLNode& get_template();
+ int save_as_template (const std::string& path, const std::string& name);
+
sigc::signal<void,void*> SelectedChanged;
int set_control_outs (const vector<std::string>& ports);
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index a2089b4..cba51e2 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -267,8 +267,17 @@ class Session : public PBD::StatefulDestructible
static string suffixed_search_path (std::string suffix, bool data);
static string control_protocol_path ();
static string template_path ();
+ static string route_template_path ();
static string template_dir ();
- static void get_template_list (list<string>&);
+ static string route_template_dir ();
+ static void get_template_list (std::list<std::string>&);
+
+ struct RouteTemplateInfo {
+ std::string name;
+ std::string path;
+ };
+
+ static void get_route_templates (std::vector<RouteTemplateInfo>&);
static string change_audio_path_by_name (string oldpath, string oldname, string newname, bool destructive);
string audio_path_from_name (string, uint32_t nchans, uint32_t chan, bool destructive);
@@ -438,7 +447,6 @@ class Session : public PBD::StatefulDestructible
void remove_pending_capture_state ();
static int rename_template (string old_name, string new_name);
-
static int delete_template (string name);
sigc::signal<void,string> StateSaved;
@@ -495,6 +503,13 @@ class Session : public PBD::StatefulDestructible
std::list<boost::shared_ptr<AudioTrack> > new_audio_track (int input_channels, int output_channels, TrackMode mode = Normal, uint32_t how_many = 1);
RouteList new_audio_route (int input_channels, int output_channels, uint32_t how_many);
+ RouteList new_route_from_template (uint32_t how_many, const std::string& template_path);
+
+ /* this is a hack put in to support work on video tracks by Robin Gareus. Nobody
+ should assume that this works yet (February 2009)
+ */
+
+ boost::shared_ptr<Route> new_video_track (string name);
void remove_route (boost::shared_ptr<Route>);
@@ -696,8 +711,7 @@ class Session : public PBD::StatefulDestructible
/* flattening stuff */
- boost::shared_ptr<Region> write_one_audio_track (AudioTrack&, nframes_t start, nframes_t end, bool overwrite, vector<boost::shared_ptr<AudioSource> >&,
- InterThreadInfo& wot);
+ boost::shared_ptr<Region> write_one_audio_track (AudioTrack&, nframes_t start, nframes_t end, bool overwrite, vector<boost::shared_ptr<AudioSource> >&, InterThreadInfo& wot, bool enable_processing = true);
int freeze (InterThreadInfo&);
/* session-wide solo/mute/rec-enable */
@@ -1051,7 +1065,11 @@ class Session : public PBD::StatefulDestructible
void process_with_events (nframes_t);
void process_audition (nframes_t);
int process_export (nframes_t, ARDOUR::AudioExportSpecification*);
-
+
+ void block_processing() { g_atomic_int_set (&processing_prohibited, 1); }
+ void unblock_processing() { g_atomic_int_set (&processing_prohibited, 0); }
+ bool processing_blocked() const { return g_atomic_int_get (&processing_prohibited); }
+
/* slave tracking */
static const int delta_accumulator_size = 25;
@@ -1761,6 +1779,8 @@ class Session : public PBD::StatefulDestructible
/* used in ::audible_frame() */
mutable bool have_looped;
+
+ static void get_templates_from (const std::string& path, std::list<std::string> &template_names);
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 4ba1b88..6a1a4e2 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -77,12 +77,14 @@ class Track : public Route
virtual void unfreeze () = 0;
virtual boost::shared_ptr<Region> bounce (InterThreadInfo&) = 0;
- virtual boost::shared_ptr<Region> bounce_range (nframes_t start, nframes_t end, InterThreadInfo&) = 0;
+ virtual boost::shared_ptr<Region> bounce_range (nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing = true) = 0;
XMLNode& get_state();
XMLNode& get_template();
virtual int set_state(const XMLNode& node) = 0;
+ static void zero_diskstream_id_in_xml (XMLNode&);
+
PBD::Controllable& rec_enable_control() { return _rec_enable_control; }
bool record_enabled() const;
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 0fdd523..27d4a8a 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -37,6 +37,7 @@
#include <ardour/playlist_factory.h>
#include <ardour/panner.h>
#include <ardour/utils.h>
+#include <ardour/mix.h>
#include "i18n.h"
@@ -47,6 +48,22 @@ using namespace PBD;
AudioTrack::AudioTrack (Session& sess, string name, Route::Flag flag, TrackMode mode)
: Track (sess, name, flag, mode)
{
+ use_new_diskstream ();
+}
+
+AudioTrack::AudioTrack (Session& sess, const XMLNode& node)
+ : Track (sess, node)
+{
+ _set_state (node, false);
+}
+
+AudioTrack::~AudioTrack ()
+{
+}
+
+void
+AudioTrack::use_new_diskstream ()
+{
AudioDiskstream::Flag dflags = AudioDiskstream::Flag (0);
if (_flags & Hidden) {
@@ -55,27 +72,17 @@ AudioTrack::AudioTrack (Session& sess, string name, Route::Flag flag, TrackMode
dflags = AudioDiskstream::Flag (dflags | AudioDiskstream::Recordable);
}
- if (mode == Destructive) {
+ if (_mode == Destructive) {
dflags = AudioDiskstream::Flag (dflags | AudioDiskstream::Destructive);
}
- boost::shared_ptr<AudioDiskstream> ds (new AudioDiskstream (_session, name, dflags));
+ boost::shared_ptr<AudioDiskstream> ds (new AudioDiskstream (_session, name(), dflags));
_session.add_diskstream (ds);
set_diskstream (boost::dynamic_pointer_cast<AudioDiskstream> (ds), this);
}
-AudioTrack::AudioTrack (Session& sess, const XMLNode& node)
- : Track (sess, node)
-{
- _set_state (node, false);
-}
-
-AudioTrack::~AudioTrack ()
-{
-}
-
int
AudioTrack::set_mode (TrackMode m)
{
@@ -269,8 +276,19 @@ AudioTrack::_set_state (const XMLNode& node, bool call_base)
} else {
PBD::ID id (prop->value());
-
- if (use_diskstream (id)) {
+ PBD::ID zero ("0");
+
+ /* this wierd hack is used when creating tracks from a template. there isn't
+ a particularly good time to interpose between setting the first part of
+ the track state (notably Route::set_state() and the track mode), and the
+ second part (diskstream stuff). So, we have a special ID for the diskstream
+ that means "you should create a new diskstream here, not look for
+ an old one.
+ */
+
+ if (id == zero) {
+ use_new_diskstream ();
+ } else if (use_diskstream (id)) {
return -1;
}
}
@@ -292,7 +310,11 @@ AudioTrack::_set_state (const XMLNode& node, bool call_base)
pending_state = const_cast<XMLNode*> (&node);
- _session.StateReady.connect (mem_fun (*this, &AudioTrack::set_state_part_two));
+ if (_session.state_of_the_state() & Session::Loading) {
+ _session.StateReady.connect (mem_fun (*this, &AudioTrack::set_state_part_two));
+ } else {
+ set_state_part_two ();
+ }
return 0;
}
@@ -353,8 +375,11 @@ AudioTrack::set_state_part_two ()
XMLProperty* prop;
LocaleGuard lg (X_("POSIX"));
- /* This is called after all session state has been restored but before
- have been made ports and connections are established.
+ /* During session loading: this is called after all session state has been restored but before
+ ports have been created and connections are established.
+
+ During creation from templates: this is called after ports have been created, and connections
+ are established.
*/
if (pending_state == 0) {
@@ -538,7 +563,7 @@ AudioTrack::roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame,
Sample* tmpb;
nframes_t transport_frame;
boost::shared_ptr<AudioDiskstream> diskstream = audio_diskstream();
-
+
{
Glib::RWLock::ReaderLock lm (redirect_lock, Glib::TRY_LOCK);
if (lm.locked()) {
@@ -716,7 +741,7 @@ AudioTrack::silent_roll (nframes_t nframes, nframes_t start_frame, nframes_t end
}
int
-AudioTrack::export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t start, nframes_t nframes)
+AudioTrack::export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t start, nframes_t nframes, bool enable_processing)
{
gain_t gain_automation[nframes];
gain_t gain_buffer[nframes];
@@ -754,6 +779,9 @@ AudioTrack::export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t st
}
}
+ // If no processing is required, there's no need to go any further.
+ if (!enable_processing)
+ return 0;
/* note: only run inserts during export. other layers in the machinery
will already have checked that there are no external port inserts.
@@ -788,10 +816,7 @@ AudioTrack::export_stuff (vector<Sample*>& buffers, uint32_t nbufs, nframes_t st
} else {
for (bi = buffers.begin(); bi != buffers.end(); ++bi) {
- Sample *b = *bi;
- for (nframes_t n = 0; n < nframes; ++n) {
- b[n] *= this_gain;
- }
+ apply_gain_to_buffer(*bi, nframes, this_gain);
}
}
@@ -825,10 +850,10 @@ AudioTrack::bounce (InterThreadInfo& itt)
boost::shared_ptr<Region>
-AudioTrack::bounce_range (nframes_t start, nframes_t end, InterThreadInfo& itt)
+AudioTrack::bounce_range (nframes_t start, nframes_t end, InterThreadInfo& itt, bool enable_processing)
{
vector<boost::shared_ptr<AudioSource> > srcs;
- return _session.write_one_audio_track (*this, start, end, false, srcs, itt);
+ return _session.write_one_audio_track (*this, start, end, false, srcs, itt, enable_processing);
}
void
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 5d9a2d8..4b0065e 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -18,10 +18,13 @@
*/
#include <sstream>
+#include <errno.h>
+#include <string.h>
#include <pbd/transmitter.h>
#include <pbd/xml++.h>
#include <pbd/whitespace.h>
+#include <pbd/pathscanner.h>
#include <glibmm/thread.h>
#include <glibmm/fileutils.h>
@@ -37,6 +40,7 @@
#include <appleutility/CAAudioUnit.h>
#include <appleutility/CAAUParameter.h>
+#include <CoreFoundation/CoreFoundation.h>
#include <CoreServices/CoreServices.h>
#include <AudioUnit/AudioUnit.h>
@@ -46,8 +50,19 @@ using namespace std;
using namespace PBD;
using namespace ARDOUR;
+#ifndef AU_STATE_SUPPORT
+static bool seen_get_state_message = false;
+static bool seen_set_state_message = false;
+static bool seen_loading_message = false;
+static bool seen_saving_message = false;
+#endif
+
AUPluginInfo::CachedInfoMap AUPluginInfo::cached_info;
+static string preset_search_path = "/Library/Audio/Presets:/Network/Library/Audio/Presets";
+static string preset_suffix = ".aupreset";
+static bool preset_search_path_initialized = false;
+
static OSStatus
_render_callback(void *userData,
AudioUnitRenderActionFlags *ioActionFlags,
@@ -59,6 +74,212 @@ _render_callback(void *userData,
return ((AUPlugin*)userData)->render_callback (ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
}
+static int
+save_property_list (CFPropertyListRef propertyList, Glib::ustring path)
+
+{
+ CFDataRef xmlData;
+ int fd;
+
+ // Convert the property list into XML data.
+
+ xmlData = CFPropertyListCreateXMLData( kCFAllocatorDefault, propertyList);
+
+ if (!xmlData) {
+ error << _("Could not create XML version of property list") << endmsg;
+ return -1;
+ }
+
+ // Write the XML data to the file.
+
+ fd = open (path.c_str(), O_WRONLY|O_CREAT|O_EXCL, 0664);
+ while (fd < 0) {
+ if (errno == EEXIST) {
+ /* tell any UI's that this file already exists and ask them what to do */
+ bool overwrite = Plugin::PresetFileExists(); // EMIT SIGNAL
+ if (overwrite) {
+ fd = open (path.c_str(), O_WRONLY, 0664);
+ continue;
+ } else {
+ return 0;
+ }
+ }
+ error << string_compose (_("Cannot open preset file %1 (%2)"), path, strerror (errno)) << endmsg;
+ CFRelease (xmlData);
+ return -1;
+ }
+
+ size_t cnt = CFDataGetLength (xmlData);
+
+ if (write (fd, CFDataGetBytePtr (xmlData), cnt) != cnt) {
+ CFRelease (xmlData);
+ close (fd);
+ return -1;
+ }
+
+ close (fd);
+ return 0;
+}
+
+
+static CFPropertyListRef
+load_property_list (Glib::ustring path)
+{
+ int fd;
+ CFPropertyListRef propertyList;
+ CFDataRef xmlData;
+ CFStringRef errorString;
+
+ // Read the XML file.
+
+ if ((fd = open (path.c_str(), O_RDONLY)) < 0) {
+ return propertyList;
+
+ }
+
+ off_t len = lseek (fd, 0, SEEK_END);
+ char* buf = new char[len];
+ lseek (fd, 0, SEEK_SET);
+
+ if (read (fd, buf, len) != len) {
+ delete [] buf;
+ close (fd);
+ return propertyList;
+ }
+
+ close (fd);
+
+ xmlData = CFDataCreateWithBytesNoCopy (kCFAllocatorDefault, (UInt8*) buf, len, kCFAllocatorNull);
+
+ // Reconstitute the dictionary using the XML data.
+
+ propertyList = CFPropertyListCreateFromXMLData( kCFAllocatorDefault,
+ xmlData,
+ kCFPropertyListImmutable,
+ &errorString);
+
+ CFRelease (xmlData);
+ delete [] buf;
+
+ return propertyList;
+}
+
+//-----------------------------------------------------------------------------
+static void
+set_preset_name_in_plist (CFPropertyListRef plist, string preset_name)
+{
+ if (!plist) {
+ return;
+ }
+ CFStringRef pn = CFStringCreateWithCString (kCFAllocatorDefault, preset_name.c_str(), kCFStringEncodingUTF8);
+
+ if (CFGetTypeID (plist) == CFDictionaryGetTypeID()) {
+ CFDictionarySetValue ((CFMutableDictionaryRef)plist, CFSTR(kAUPresetNameKey), pn);
+ }
+
+ CFRelease (pn);
+}
+
+//-----------------------------------------------------------------------------
+static std::string
+get_preset_name_in_plist (CFPropertyListRef plist)
+{
+ std::string ret;
+
+ if (!plist) {
+ return ret;
+ }
+
+ if (CFGetTypeID (plist) == CFDictionaryGetTypeID()) {
+ const void *p = CFDictionaryGetValue ((CFMutableDictionaryRef)plist, CFSTR(kAUPresetNameKey));
+ if (p) {
+ CFStringRef str = (CFStringRef) p;
+ int len = CFStringGetLength(str);
+ len = (len * 2) + 1;
+ char local_buffer[len];
+ if (CFStringGetCString (str, local_buffer, len, kCFStringEncodingUTF8)) {
+ ret = local_buffer;
+ }
+ }
+ }
+ return ret;
+}
+
+//--------------------------------------------------------------------------
+// general implementation for ComponentDescriptionsMatch() and ComponentDescriptionsMatch_Loosely()
+// if inIgnoreType is true, then the type code is ignored in the ComponentDescriptions
+Boolean ComponentDescriptionsMatch_General(const ComponentDescription * inComponentDescription1, const ComponentDescription * inComponentDescription2, Boolean inIgnoreType);
+Boolean ComponentDescriptionsMatch_General(const ComponentDescription * inComponentDescription1, const ComponentDescription * inComponentDescription2, Boolean inIgnoreType)
+{
+ if ( (inComponentDescription1 == NULL) || (inComponentDescription2 == NULL) )
+ return FALSE;
+
+ if ( (inComponentDescription1->componentSubType == inComponentDescription2->componentSubType)
+ && (inComponentDescription1->componentManufacturer == inComponentDescription2->componentManufacturer) )
+ {
+ // only sub-type and manufacturer IDs need to be equal
+ if (inIgnoreType)
+ return TRUE;
+ // type, sub-type, and manufacturer IDs all need to be equal in order to call this a match
+ else if (inComponentDescription1->componentType == inComponentDescription2->componentType)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+//--------------------------------------------------------------------------
+// general implementation for ComponentAndDescriptionMatch() and ComponentAndDescriptionMatch_Loosely()
+// if inIgnoreType is true, then the type code is ignored in the ComponentDescriptions
+Boolean ComponentAndDescriptionMatch_General(Component inComponent, const ComponentDescription * inComponentDescription, Boolean inIgnoreType);
+Boolean ComponentAndDescriptionMatch_General(Component inComponent, const ComponentDescription * inComponentDescription, Boolean inIgnoreType)
+{
+ OSErr status;
+ ComponentDescription desc;
+
+ if ( (inComponent == NULL) || (inComponentDescription == NULL) )
+ return FALSE;
+
+ // get the ComponentDescription of the input Component
+ status = GetComponentInfo(inComponent, &desc, NULL, NULL, NULL);
+ if (status != noErr)
+ return FALSE;
+
+ // check if the Component's ComponentDescription matches the input ComponentDescription
+ return ComponentDescriptionsMatch_General(&desc, inComponentDescription, inIgnoreType);
+}
+
+//--------------------------------------------------------------------------
+// determine if 2 ComponentDescriptions are basically equal
+// (by that, I mean that the important identifying values are compared,
+// but not the ComponentDescription flags)
+Boolean ComponentDescriptionsMatch(const ComponentDescription * inComponentDescription1, const ComponentDescription * inComponentDescription2)
+{
+ return ComponentDescriptionsMatch_General(inComponentDescription1, inComponentDescription2, FALSE);
+}
+
+//--------------------------------------------------------------------------
+// determine if 2 ComponentDescriptions have matching sub-type and manufacturer codes
+Boolean ComponentDescriptionsMatch_Loose(const ComponentDescription * inComponentDescription1, const ComponentDescription * inComponentDescription2)
+{
+ return ComponentDescriptionsMatch_General(inComponentDescription1, inComponentDescription2, TRUE);
+}
+
+//--------------------------------------------------------------------------
+// determine if a ComponentDescription basically matches that of a particular Component
+Boolean ComponentAndDescriptionMatch(Component inComponent, const ComponentDescription * inComponentDescription)
+{
+ return ComponentAndDescriptionMatch_General(inComponent, inComponentDescription, FALSE);
+}
+
+//--------------------------------------------------------------------------
+// determine if a ComponentDescription matches only the sub-type and manufacturer codes of a particular Component
+Boolean ComponentAndDescriptionMatch_Loosely(Component inComponent, const ComponentDescription * inComponentDescription)
+{
+ return ComponentAndDescriptionMatch_General(inComponent, inComponentDescription, TRUE);
+}
+
+
AUPlugin::AUPlugin (AudioEngine& engine, Session& session, boost::shared_ptr<CAComponent> _comp)
: Plugin (engine, session),
comp (_comp),
@@ -70,6 +291,14 @@ AUPlugin::AUPlugin (AudioEngine& engine, Session& session, boost::shared_ptr<CAC
current_buffers (0),
frames_processed (0)
{
+ if (!preset_search_path_initialized) {
+ Glib::ustring p = Glib::get_home_dir();
+ p += "/Library/Audio/Presets:";
+ p += preset_search_path;
+ preset_search_path = p;
+ preset_search_path_initialized = true;
+ }
+
init ();
}
@@ -109,7 +338,6 @@ AUPlugin::init ()
err = CAAudioUnit::Open (*(comp.get()), *unit);
} catch (...) {
error << _("Exception thrown during AudioUnit plugin loading - plugin ignored") << endmsg;
- cerr << _("Exception thrown during AudioUnit plugin loading - plugin ignored") << endl;
throw failed_constructor();
}
@@ -762,33 +990,406 @@ AUPlugin::parameter_is_output (uint32_t) const
XMLNode&
AUPlugin::get_state()
{
- XMLNode *root = new XMLNode (state_node_name());
LocaleGuard lg (X_("POSIX"));
+ XMLNode *root = new XMLNode (state_node_name());
+
+#ifdef AU_STATE_SUPPORT
+ CFDataRef xmlData;
+ CFPropertyListRef propertyList;
+
+ if (unit->GetAUPreset (propertyList) != noErr) {
+ return *root;
+ }
+
+ // Convert the property list into XML data.
+
+ xmlData = CFPropertyListCreateXMLData( kCFAllocatorDefault, propertyList);
+
+ if (!xmlData) {
+ error << _("Could not create XML version of property list") << endmsg;
+ return *root;
+ }
+
+ /* re-parse XML bytes to create a libxml++ XMLTree that we can merge into
+ our state node. GACK!
+ */
+
+ XMLTree t;
+
+ if (t.read_buffer (string ((const char*) CFDataGetBytePtr (xmlData), CFDataGetLength (xmlData)))) {
+ if (t.root()) {
+ root->add_child_copy (*t.root());
+ }
+ }
+
+ CFRelease (xmlData);
+ CFRelease (propertyList);
+#else
+ if (!seen_get_state_message) {
+ info << _("Saving AudioUnit settings is not supported in this build of Ardour. Consider paying for a newer version")
+ << endmsg;
+ seen_get_state_message = true;
+ }
+#endif
+
return *root;
}
int
AUPlugin::set_state(const XMLNode& node)
{
- return -1;
+#ifdef AU_STATE_SUPPORT
+ int ret = -1;
+ CFPropertyListRef propertyList;
+ LocaleGuard lg (X_("POSIX"));
+
+ if (node.name() != state_node_name()) {
+ error << _("Bad node sent to AUPlugin::set_state") << endmsg;
+ return -1;
+ }
+
+ if (node.children().empty()) {
+ return -1;
+ }
+
+ XMLNode* top = node.children().front();
+ XMLNode* copy = new XMLNode (*top);
+
+ XMLTree t;
+ t.set_root (copy);
+
+ const string& xml = t.write_buffer ();
+ CFDataRef xmlData = CFDataCreateWithBytesNoCopy (kCFAllocatorDefault, (UInt8*) xml.data(), xml.length(), kCFAllocatorNull);
+ CFStringRef errorString;
+
+ propertyList = CFPropertyListCreateFromXMLData( kCFAllocatorDefault,
+ xmlData,
+ kCFPropertyListImmutable,
+ &errorString);
+
+ CFRelease (xmlData);
+
+ if (propertyList) {
+ if (unit->SetAUPreset (propertyList) == noErr) {
+ ret = 0;
+ }
+ CFRelease (propertyList);
+ }
+
+ return ret;
+#else
+ if (!seen_set_state_message) {
+ info << _("Restoring AudioUnit settings is not supported in this build of Ardour. Consider paying for a newer version")
+ << endmsg;
+ }
+ return 0;
+#endif
}
bool
-AUPlugin::save_preset (string name)
+AUPlugin::load_preset (const string preset_label)
{
- return false;
+#ifdef AU_STATE_SUPPORT
+ bool ret = false;
+ CFPropertyListRef propertyList;
+ Glib::ustring path;
+ PresetMap::iterator x = preset_map.find (preset_label);
+
+ if (x == preset_map.end()) {
+ return false;
+ }
+
+ if ((propertyList = load_property_list (x->second)) != 0) {
+ if (unit->SetAUPreset (propertyList) == noErr) {
+ ret = true;
+ }
+ CFRelease(propertyList);
+ }
+
+ return ret;
+#else
+ if (!seen_loading_message) {
+ info << _("Loading AudioUnit presets is not supported in this build of Ardour. Consider paying for a newer version")
+ << endmsg;
+ seen_loading_message = true;
+ }
+ return true;
+#endif
}
bool
-AUPlugin::load_preset (const string preset_label)
+AUPlugin::save_preset (string preset_name)
{
+#ifdef AU_STATE_SUPPORT
+ CFPropertyListRef propertyList;
+ vector<Glib::ustring> v;
+ Glib::ustring user_preset_path;
+ bool ret = true;
+
+ std::string m = maker();
+ std::string n = name();
+
+ strip_whitespace_edges (m);
+ strip_whitespace_edges (n);
+
+ v.push_back (Glib::get_home_dir());
+ v.push_back ("Library");
+ v.push_back ("Audio");
+ v.push_back ("Presets");
+ v.push_back (m);
+ v.push_back (n);
+
+ user_preset_path = Glib::build_filename (v);
+
+ if (g_mkdir_with_parents (user_preset_path.c_str(), 0775) < 0) {
+ error << string_compose (_("Cannot create user plugin presets folder (%1)"), user_preset_path) << endmsg;
+ return false;
+ }
+
+ if (unit->GetAUPreset (propertyList) != noErr) {
+ return false;
+ }
+
+ // add the actual preset name */
+
+ v.push_back (preset_name + preset_suffix);
+
+ // rebuild
+
+ user_preset_path = Glib::build_filename (v);
+
+ set_preset_name_in_plist (propertyList, preset_name);
+
+ if (save_property_list (propertyList, user_preset_path)) {
+ error << string_compose (_("Saving plugin state to %1 failed"), user_preset_path) << endmsg;
+ ret = false;
+ }
+
+ CFRelease(propertyList);
+
+ return ret;
+#else
+ if (!seen_saving_message) {
+ info << _("Saving AudioUnit presets is not supported in this build of Ardour. Consider paying for a newer version")
+ << endmsg;
+ seen_saving_message = true;
+ }
return false;
+#endif
+}
+
+//-----------------------------------------------------------------------------
+// this is just a little helper function used by GetAUComponentDescriptionFromPresetFile()
+static SInt32
+GetDictionarySInt32Value(CFDictionaryRef inAUStateDictionary, CFStringRef inDictionaryKey, Boolean * outSuccess)
+{
+ CFNumberRef cfNumber;
+ SInt32 numberValue = 0;
+ Boolean dummySuccess;
+
+ if (outSuccess == NULL)
+ outSuccess = &dummySuccess;
+ if ( (inAUStateDictionary == NULL) || (inDictionaryKey == NULL) )
+ {
+ *outSuccess = FALSE;
+ return 0;
+ }
+
+ cfNumber = (CFNumberRef) CFDictionaryGetValue(inAUStateDictionary, inDictionaryKey);
+ if (cfNumber == NULL)
+ {
+ *outSuccess = FALSE;
+ return 0;
+ }
+ *outSuccess = CFNumberGetValue(cfNumber, kCFNumberSInt32Type, &numberValue);
+ if (*outSuccess)
+ return numberValue;
+ else
+ return 0;
+}
+
+static OSStatus
+GetAUComponentDescriptionFromStateData(CFPropertyListRef inAUStateData, ComponentDescription * outComponentDescription)
+{
+ CFDictionaryRef auStateDictionary;
+ ComponentDescription tempDesc = {0};
+ SInt32 versionValue;
+ Boolean gotValue;
+
+ if ( (inAUStateData == NULL) || (outComponentDescription == NULL) )
+ return paramErr;
+
+ // the property list for AU state data must be of the dictionary type
+ if (CFGetTypeID(inAUStateData) != CFDictionaryGetTypeID()) {
+ return kAudioUnitErr_InvalidPropertyValue;
+ }
+
+ auStateDictionary = (CFDictionaryRef)inAUStateData;
+
+ // first check to make sure that the version of the AU state data is one that we know understand
+ // XXX should I really do this? later versions would probably still hold these ID keys, right?
+ versionValue = GetDictionarySInt32Value(auStateDictionary, CFSTR(kAUPresetVersionKey), &gotValue);
+
+ if (!gotValue) {
+ return kAudioUnitErr_InvalidPropertyValue;
+ }
+#define kCurrentSavedStateVersion 0
+ if (versionValue != kCurrentSavedStateVersion) {
+ return kAudioUnitErr_InvalidPropertyValue;
+ }
+
+ // grab the ComponentDescription values from the AU state data
+ tempDesc.componentType = (OSType) GetDictionarySInt32Value(auStateDictionary, CFSTR(kAUPresetTypeKey), NULL);
+ tempDesc.componentSubType = (OSType) GetDictionarySInt32Value(auStateDictionary, CFSTR(kAUPresetSubtypeKey), NULL);
+ tempDesc.componentManufacturer = (OSType) GetDictionarySInt32Value(auStateDictionary, CFSTR(kAUPresetManufacturerKey), NULL);
+ // zero values are illegit for specific ComponentDescriptions, so zero for any value means that there was an error
+ if ( (tempDesc.componentType == 0) || (tempDesc.componentSubType == 0) || (tempDesc.componentManufacturer == 0) )
+ return kAudioUnitErr_InvalidPropertyValue;
+
+ *outComponentDescription = tempDesc;
+ return noErr;
+}
+
+
+static bool au_preset_filter (const string& str, void* arg)
+{
+ /* Not a dotfile, has a prefix before a period, suffix is aupreset */
+
+ bool ret;
+
+ ret = (str[0] != '.' && str.length() > 9 && str.find (preset_suffix) == (str.length() - preset_suffix.length()));
+
+ if (ret && arg) {
+
+ /* check the preset file path name against this plugin
+ ID. The idea is that all preset files for this plugin
+ include "<manufacturer>/<plugin-name>" in their path.
+ */
+
+ Plugin* p = (Plugin *) arg;
+ string match = p->maker();
+ match += '/';
+ match += p->name();
+
+ ret = str.find (match) != string::npos;
+
+ if (ret == false) {
+ string m = p->maker ();
+ string n = p->name ();
+ strip_whitespace_edges (m);
+ strip_whitespace_edges (n);
+ match = m;
+ match += '/';
+ match += n;
+
+ ret = str.find (match) != string::npos;
+ }
+ }
+
+ return ret;
+}
+
+bool
+check_and_get_preset_name (Component component, const string& pathstr, string& preset_name)
+{
+ OSStatus status;
+ CFPropertyListRef plist;
+ ComponentDescription presetDesc;
+ bool ret = false;
+
+ plist = load_property_list (pathstr);
+
+ if (!plist) {
+ return ret;
+ }
+
+ // get the ComponentDescription from the AU preset file
+
+ status = GetAUComponentDescriptionFromStateData(plist, &presetDesc);
+
+ if (status == noErr) {
+ if (ComponentAndDescriptionMatch_Loosely(component, &presetDesc)) {
+
+ /* try to get the preset name from the property list */
+
+ if (CFGetTypeID(plist) == CFDictionaryGetTypeID()) {
+
+ const void* psk = CFDictionaryGetValue ((CFMutableDictionaryRef)plist, CFSTR(kAUPresetNameKey));
+
+ if (psk) {
+
+ const char* p = CFStringGetCStringPtr ((CFStringRef) psk, kCFStringEncodingUTF8);
+
+ if (!p) {
+ char buf[PATH_MAX+1];
+
+ if (CFStringGetCString ((CFStringRef)psk, buf, sizeof (buf), kCFStringEncodingUTF8)) {
+ preset_name = buf;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ CFRelease (plist);
+
+ return true;
+}
+
+std::string
+AUPlugin::current_preset() const
+{
+ string preset_name;
+
+#ifdef AU_STATE_SUPPORT
+ CFPropertyListRef propertyList;
+
+ if (unit->GetAUPreset (propertyList) == noErr) {
+ preset_name = get_preset_name_in_plist (propertyList);
+ CFRelease(propertyList);
+ }
+#endif
+ return preset_name;
}
vector<string>
AUPlugin::get_presets ()
{
+ vector<string*>* preset_files;
vector<string> presets;
+ PathScanner scanner;
+
+ preset_files = scanner (preset_search_path, au_preset_filter, this, true, true, -1, true);
+
+ if (!preset_files) {
+ return presets;
+ }
+
+ for (vector<string*>::iterator x = preset_files->begin(); x != preset_files->end(); ++x) {
+
+ string path = *(*x);
+ string preset_name;
+
+ /* make an initial guess at the preset name using the path */
+
+ preset_name = Glib::path_get_basename (path);
+ preset_name = preset_name.substr (0, preset_name.find_last_of ('.'));
+
+ /* check that this preset file really matches this plugin
+ and potentially get the "real" preset name from
+ within the file.
+ */
+
+ if (check_and_get_preset_name (get_comp()->Comp(), path, preset_name)) {
+ presets.push_back (preset_name);
+ preset_map[preset_name] = path;
+ }
+
+ delete *x;
+ }
+
+ delete preset_files;
return presets;
}
@@ -853,6 +1454,7 @@ AUPluginInfo::discover ()
discover_fx (plugs);
discover_music (plugs);
+ discover_generators (plugs);
return plugs;
}
@@ -884,6 +1486,19 @@ AUPluginInfo::discover_fx (PluginInfoList& plugs)
}
void
+AUPluginInfo::discover_generators (PluginInfoList& plugs)
+{
+ CAComponentDescription desc;
+ desc.componentFlags = 0;
+ desc.componentFlagsMask = 0;
+ desc.componentSubType = 0;
+ desc.componentManufacturer = 0;
+ desc.componentType = kAudioUnitType_Generator;
+
+ discover_by_description (plugs, desc);
+}
+
+void
AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescription& desc)
{
Component comp = 0;
@@ -905,6 +1520,13 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip
case kAudioUnitType_OfflineEffect:
case kAudioUnitType_FormatConverter:
continue;
+ case kAudioUnitType_Output:
+ case kAudioUnitType_MusicDevice:
+ case kAudioUnitType_MusicEffect:
+ case kAudioUnitType_Effect:
+ case kAudioUnitType_Mixer:
+ case kAudioUnitType_Generator:
+ break;
default:
break;
}
@@ -914,15 +1536,12 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip
case kAudioUnitSubType_SystemOutput:
case kAudioUnitSubType_GenericOutput:
case kAudioUnitSubType_AUConverter:
+ /* we don't want output units here */
continue;
break;
case kAudioUnitSubType_DLSSynth:
- info->category = "DLSSynth";
- break;
-
- case kAudioUnitType_MusicEffect:
- info->category = "MusicEffect";
+ info->category = "DLS Synth";
break;
case kAudioUnitSubType_Varispeed:
@@ -934,55 +1553,59 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip
break;
case kAudioUnitSubType_LowPassFilter:
- info->category = "LowPassFilter";
+ info->category = "Low-pass Filter";
break;
case kAudioUnitSubType_HighPassFilter:
- info->category = "HighPassFilter";
+ info->category = "High-pass Filter";
break;
case kAudioUnitSubType_BandPassFilter:
- info->category = "BandPassFilter";
+ info->category = "Band-pass Filter";
break;
case kAudioUnitSubType_HighShelfFilter:
- info->category = "HighShelfFilter";
+ info->category = "High-shelf Filter";
break;
case kAudioUnitSubType_LowShelfFilter:
- info->category = "LowShelfFilter";
+ info->category = "Low-shelf Filter";
break;
case kAudioUnitSubType_ParametricEQ:
- info->category = "ParametricEQ";
+ info->category = "Parametric EQ";
break;
case kAudioUnitSubType_GraphicEQ:
- info->category = "GraphicEQ";
+ info->category = "Graphic EQ";
break;
case kAudioUnitSubType_PeakLimiter:
- info->category = "PeakLimiter";
+ info->category = "Peak Limiter";
break;
case kAudioUnitSubType_DynamicsProcessor:
- info->category = "DynamicsProcessor";
+ info->category = "Dynamics Processor";
break;
case kAudioUnitSubType_MultiBandCompressor:
- info->category = "MultiBandCompressor";
+ info->category = "Multiband Compressor";
break;
case kAudioUnitSubType_MatrixReverb:
- info->category = "MatrixReverb";
+ info->category = "Matrix Reverb";
break;
- case kAudioUnitType_Mixer:
- info->category = "Mixer";
+ case kAudioUnitSubType_SampleDelay:
+ info->category = "Sample Delay";
+ break;
+
+ case kAudioUnitSubType_Pitch:
+ info->category = "Pitch";
break;
- case kAudioUnitSubType_StereoMixer:
- info->category = "StereoMixer";
+ case kAudioUnitSubType_NetSend:
+ info->category = "Net Sender";
break;
case kAudioUnitSubType_3DMixer:
@@ -993,6 +1616,19 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip
info->category = "MatrixMixer";
break;
+ case kAudioUnitSubType_ScheduledSoundPlayer:
+ info->category = "Scheduled Sound Player";
+ break;
+
+
+ case kAudioUnitSubType_AudioFilePlayer:
+ info->category = "Audio File Player";
+ break;
+
+ case kAudioUnitSubType_NetReceive:
+ info->category = "Net Receiver";
+ break;
+
default:
info->category = "";
}
diff --git a/libs/ardour/audioanalyser.cc b/libs/ardour/audioanalyser.cc
index ab3691d..3123147 100644
--- a/libs/ardour/audioanalyser.cc
+++ b/libs/ardour/audioanalyser.cc
@@ -1,5 +1,5 @@
#include <cstring>
-#include <vamp-sdk/hostext/PluginLoader.h>
+#include <vamp-hostsdk/PluginLoader.h>
#include <glibmm/miscutils.h>
#include <glibmm/fileutils.h>
#include <glib/gstdio.h> // for g_remove()
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index ffaf874..cc74b92 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -32,9 +32,6 @@
#include <ardour/session.h>
#include <ardour/cycle_timer.h>
#include <ardour/utils.h>
-#ifdef VST_SUPPORT
-#include <fst.h>
-#endif
#include <ardour/timestamps.h>
@@ -453,7 +450,7 @@ AudioEngine::set_session (Session *s)
/* page in as much of the session process code as we
can before we really start running.
*/
-
+
session->process (blocksize);
session->process (blocksize);
session->process (blocksize);
@@ -496,9 +493,9 @@ AudioEngine::port_registration_failure (const std::string& portname)
string reason;
if (p) {
- reason = _("a port with this name already exists: check for duplicated track/bus names");
+ reason = string_compose (_("a port with the name \"%1\" already exists: check for duplicated track/bus names"), portname);
} else {
- reason = _("unknown error");
+ reason = _("No more JACK ports are available. You will need to stop Ardour and restart JACK with ports if you need this many tracks.");
}
throw PortRegistrationFailure (string_compose (_("AudioEngine: cannot register port \"%1\": %2"), portname, reason).c_str());
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index 287d9db..9a62747 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -509,14 +509,18 @@ AudioRegion::read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, n
uint32_t chan_n, nframes_t read_frames, nframes_t skip_frames) const
{
/* regular diskstream/butler read complete with fades etc */
- return _read_at (sources, _length, buf, mixdown_buffer, gain_buffer, file_position, cnt, chan_n, read_frames, skip_frames, ReadOps (~0));
+ return _read_at (sources, _length, buf, mixdown_buffer, gain_buffer, file_position, cnt,
+ chan_n, read_frames, skip_frames, ReadOps (~0));
}
nframes_t
AudioRegion::master_read_at (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, nframes_t position,
nframes_t cnt, uint32_t chan_n) const
{
- return _read_at (master_sources, master_sources.front()->length(), buf, mixdown_buffer, gain_buffer, position, cnt, chan_n, 0, 0);
+ /* do not read gain/scaling/fades and do not count this disk i/o in statistics */
+
+ return _read_at (master_sources, master_sources.front()->length(), buf, mixdown_buffer,
+ gain_buffer, position, cnt, chan_n, 0, 0, ReadOps (0));
}
nframes_t
diff --git a/libs/ardour/automation_event.cc b/libs/ardour/automation_event.cc
index 44cba83..d5a7d50 100644
--- a/libs/ardour/automation_event.cc
+++ b/libs/ardour/automation_event.cc
@@ -1250,6 +1250,8 @@ AutomationList::serialize_events ()
{
XMLNode* node = new XMLNode (X_("events"));
stringstream str;
+
+ str.precision(15); //10 digits is enough digits for 24 hours at 96kHz
for (iterator xx = events.begin(); xx != events.end(); ++xx) {
str << (double) (*xx)->when;
diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc
index f0cfb9e..7a24404 100644
--- a/libs/ardour/crossfade.cc
+++ b/libs/ardour/crossfade.cc
@@ -162,6 +162,12 @@ Crossfade::Crossfade (const Playlist& playlist, XMLNode& node)
if (set_state (node)) {
throw failed_constructor();
}
+
+ /* we should not need to do this here, since all values were set via XML. however
+ some older sessions may have bugs and this allows us to fix them.
+ */
+
+ update ();
}
Crossfade::Crossfade (const Crossfade &orig, boost::shared_ptr<AudioRegion> newin, boost::shared_ptr<AudioRegion> newout)
@@ -468,11 +474,11 @@ Crossfade::update ()
break;
case EndOfIn:
- _position = _in->last_frame() - _length;
+ _position = _in->last_frame() - _length + 1;
break;
case EndOfOut:
- _position = _out->last_frame() - _length;
+ _position = _out->last_frame() - _length + 1;
}
return true;
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index e509d8b..6d406fb 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -330,15 +330,15 @@ ARDOUR::init (bool use_vst, bool try_optimization)
#endif
#ifdef VST_SUPPORT
- if (Config->get_use_vst() && fst_init ()) {
- return -1;
+ if (Config->get_use_vst() && fst_init (0)) {
+ return -1;
}
#endif
#ifdef HAVE_AUDIOUNITS
AUPluginInfo::load_cached_info ();
#endif
-
+
/* Make VAMP look in our library ahead of anything else */
char *p = getenv ("VAMP_PATH");
@@ -378,6 +378,9 @@ ARDOUR::cleanup ()
delete Library;
lrdf_cleanup ();
delete &ControlProtocolManager::instance();
+#ifdef VST_SUPPORT
+ fst_exit ();
+#endif
return 0;
}
@@ -412,7 +415,7 @@ ARDOUR::new_change ()
string
ARDOUR::get_ardour_revision ()
{
- return "$Rev: 4214 $";
+ return "$Rev: 4889 $";
}
string
diff --git a/libs/ardour/insert.cc b/libs/ardour/insert.cc
index be4de27..e748e4b 100644
--- a/libs/ardour/insert.cc
+++ b/libs/ardour/insert.cc
@@ -281,6 +281,8 @@ PluginInsert::connect_and_run (vector<Sample*>& bufs, uint32_t nbufs, nframes_t
be able to handle in-place processing.
*/
+ // cerr << "Connect and run for " << _plugins[0]->name() << " auto ? " << with_auto << " nf = " << nframes << " off = " << offset << endl;
+
if (with_auto) {
vector<AutomationList*>::iterator li;
@@ -292,23 +294,26 @@ PluginInsert::connect_and_run (vector<Sample*>& bufs, uint32_t nbufs, nframes_t
if (alist && alist->automation_playback()) {
bool valid;
-
+
float val = alist->rt_safe_eval (now, valid);
if (valid) {
/* set the first plugin, the others will be set via signals */
+ // cerr << "\t@ " << now << " param[" << n << "] = " << val << endl;
_plugins[0]->set_parameter (n, val);
}
}
}
- }
+ }
for (vector<boost::shared_ptr<Plugin> >::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
+ // cerr << "\trun C&R with in = " << in_index << " out = " << out_index << " nf = " << nframes << " off = " << offset << endl;
(*i)->connect_and_run (bufs, nbufs, in_index, out_index, nframes, offset);
}
-
+
/* leave remaining channel buffers alone */
+ // cerr << "--- and out\n";
}
void
@@ -438,10 +443,15 @@ PluginInsert::automation_run (vector<Sample *>& bufs, uint32_t nbufs, nframes_t
connect_and_run (bufs, nbufs, cnt, offset, true, now);
nframes -= cnt;
- offset += cnt;
now += cnt;
buffer_correct += cnt;
+ /* we are going to advance the buffer pointers by "cnt" so there
+ is no reason to specify a non-zero offset anymore.
+ */
+
+ offset = 0;
+
for (uint32_t i = 0; i < nbufs; i++) {
bufs[i] += cnt;
}
@@ -679,8 +689,7 @@ PluginInsert::set_state(const XMLNode& node)
*/
if (type == ARDOUR::VST) {
- if (prop = node.property ("id")) {
- }
+ prop = node.property ("id");
}
#endif
/* recheck */
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index 865814b..4a993ca 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -2806,4 +2806,24 @@ IO::set_active (bool yn)
active_changed(); /* EMIT SIGNAL */
}
+string
+IO::name_from_state (const XMLNode& node)
+{
+ const XMLProperty* prop;
+
+ if ((prop = node.property ("name")) != 0) {
+ return prop->value();
+ }
+
+ return string();
+}
+void
+IO::set_name_in_state (XMLNode& node, const string& new_name)
+{
+ const XMLProperty* prop;
+
+ if ((prop = node.property ("name")) != 0) {
+ node.add_property ("name", new_name);
+ }
+}
diff --git a/libs/ardour/ladspa_plugin.cc b/libs/ardour/ladspa_plugin.cc
index 9289899..6a27b85 100644
--- a/libs/ardour/ladspa_plugin.cc
+++ b/libs/ardour/ladspa_plugin.cc
@@ -523,14 +523,14 @@ LadspaPlugin::connect_and_run (vector<Sample*>& bufs, uint32_t nbufs, int32_t& i
while (port_index < parameter_count()) {
if (LADSPA_IS_PORT_AUDIO (port_descriptor(port_index))) {
if (LADSPA_IS_PORT_INPUT (port_descriptor(port_index))) {
- connect_port (port_index, bufs[min((uint32_t) in_index,nbufs - 1)]);
+ connect_port (port_index, bufs[min((uint32_t) in_index,nbufs - 1)] + offset);
//cerr << this << ' ' << name() << " @ " << offset << " inport " << in_index << " = buf "
// << min((uint32_t)in_index,nbufs) << " = " << &bufs[min((uint32_t)in_index,nbufs)][offset] << endl;
in_index++;
} else if (LADSPA_IS_PORT_OUTPUT (port_descriptor (port_index))) {
- connect_port (port_index, bufs[min((uint32_t) out_index,nbufs - 1)]);
+ connect_port (port_index, bufs[min((uint32_t) out_index,nbufs - 1)] + offset);
// cerr << this << ' ' << name() << " @ " << offset << " outport " << out_index << " = buf "
// << min((uint32_t)out_index,nbufs) << " = " << &bufs[min((uint32_t)out_index,nbufs)][offset] << endl;
out_index++;
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index 32160ab..10648c3 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -425,11 +425,11 @@ LV2Plugin::connect_and_run (vector<Sample*>& bufs, uint32_t nbufs, int32_t& in_i
if (parameter_is_audio(port_index)) {
if (parameter_is_input(port_index)) {
slv2_instance_connect_port(_instance, port_index,
- bufs[min((uint32_t)in_index, nbufs - 1)]);
+ bufs[min((uint32_t)in_index, nbufs - 1)] + offset);
in_index++;
} else if (parameter_is_output(port_index)) {
slv2_instance_connect_port(_instance, port_index,
- bufs[min((uint32_t)out_index, nbufs - 1)]);
+ bufs[min((uint32_t)out_index, nbufs - 1)] + offset);
out_index++;
}
}
diff --git a/libs/ardour/osc.cc b/libs/ardour/osc.cc
index 384e77a..ab611d0 100644
--- a/libs/ardour/osc.cc
+++ b/libs/ardour/osc.cc
@@ -241,7 +241,7 @@ OSC::init_osc_thread ()
pthread_attr_init(&attr);
pthread_attr_setstacksize(&attr, 500000);
- pthread_create (&_osc_thread, &attr, &OSC::_osc_receiver, this);
+ pthread_create_and_store (X_("OSC"), &_osc_thread, &attr, &OSC::_osc_receiver, this);
if (!_osc_thread) {
return false;
}
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index 9052f87..9960074 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -1571,7 +1571,8 @@ Playlist::find_next_region (nframes_t frame, RegionPoint point, int dir)
pos = r->last_frame ();
break;
case SyncPoint:
- pos = r->adjust_to_sync (r->first_frame());
+ pos = r->sync_position ();
+ // r->adjust_to_sync (r->first_frame());
break;
}
diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc
index 9fd1707..79f17ff 100644
--- a/libs/ardour/plugin.cc
+++ b/libs/ardour/plugin.cc
@@ -58,6 +58,8 @@
using namespace ARDOUR;
using namespace PBD;
+sigc::signal<bool> Plugin::PresetFileExists;
+
Plugin::Plugin (AudioEngine& e, Session& s)
: _engine (e), _session (s)
{
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index d059f48..a069dd1 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -360,7 +360,23 @@ PluginManager::ladspa_discover (string path)
}
}
- _ladspa_plugin_info.push_back (info);
+ if(_ladspa_plugin_info.empty()){
+ _ladspa_plugin_info.push_back (info);
+ }
+
+ //Ensure that the plugin is not already in the plugin list.
+
+ bool found = false;
+
+ for (PluginInfoList::const_iterator i = _ladspa_plugin_info.begin(); i != _ladspa_plugin_info.end(); ++i) {
+ if(0 == info->unique_id.compare((*i)->unique_id)){
+ found = true;
+ }
+ }
+
+ if(!found){
+ _ladspa_plugin_info.push_back (info);
+ }
}
// GDB WILL NOT LIKE YOU IF YOU DO THIS
@@ -482,6 +498,7 @@ PluginManager::vst_discover_from_path (string path)
if (plugin_objects) {
for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) {
+ std::cerr << " discovering " << **x << std::endl;
vst_discover (**x);
}
}
@@ -522,7 +539,7 @@ PluginManager::vst_discover (string path)
info->unique_id = buf;
info->category = "VST";
info->path = path;
- // need to set info->creator but FST doesn't provide it
+ info->creator = finfo->creator;
info->index = 0;
info->n_inputs = finfo->numInputs;
info->n_outputs = finfo->numOutputs;
diff --git a/libs/ardour/po/es_ES.po b/libs/ardour/po/es_ES.po
new file mode 100644
index 0000000..c26c3c8
--- /dev/null
+++ b/libs/ardour/po/es_ES.po
@@ -0,0 +1,2168 @@
+# Spanish Language Translation for libardour
+# Copyright (C) 2009 "Paul Davis"
+# This file is distributed under the same license as the libardour package.
+# David Täht <d at teklibre.com>, 2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Ardour\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-02-23 22:49-0600\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Grupo de Traducción al Español <traductores at teklibre.com>\n"
+"Language-Team: Grupo de Traducción al Español <traductores at teklibre.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: libs/ardour/audioanalyser.cc:29
+msgid "cannot load VAMP plugin \"%1\""
+msgstr "no se puede cargar el plugin VAMP"
+
+#: libs/ardour/audioanalyser.cc:49
+msgid "VAMP Plugin \"%1\" could not be loaded"
+msgstr "el plugin VAMP \"%1\" no pudo ser cargado"
+
+#: libs/ardour/audio_diskstream.cc:249
+msgid "AudioDiskstream: Playlist \"%1\" isn't an audio playlist"
+msgstr "AudioDiskstream %1: La lista de reproducción \"%1\" no es una lista de reproducción de audio."
+
+#: libs/ardour/audio_diskstream.cc:302
+msgid "AudioDiskstream %1: there is no existing playlist to make a copy of!"
+msgstr "AudioDiskstream %1: ¡no hay ninguna lista de reproducción para copiar!"
+
+#: libs/ardour/audio_diskstream.cc:937
+#: libs/ardour/audio_diskstream.cc:948
+msgid "AudioDiskstream %1: when refilling, cannot read %2 from playlist at frame %3"
+msgstr "AudioDiskstream %1: al rellenar, no se puede leer %2 de la lista de reproducción en el cuadro %3."
+
+#: libs/ardour/audio_diskstream.cc:1096
+msgid "AudioDiskstream %1: cannot read %2 from playlist at frame %3"
+msgstr "AudioDiskstream %1: no se puede leer %2 de la lista de reproducción en el cuadro %3."
+
+#: libs/ardour/audio_diskstream.cc:1138
+msgid "AudioDiskstream %1: cannot read xfade samples %2 from playlist at frame %3"
+msgstr ""
+
+#: libs/ardour/audio_diskstream.cc:1491
+#: libs/ardour/audio_diskstream.cc:1508
+msgid "AudioDiskstream %1: cannot write to disk"
+msgstr "AudioDiskstream %1: no se puede escribir en el disco."
+
+#: libs/ardour/audio_diskstream.cc:1553
+msgid "AudioDiskstream \"%1\": cannot flush captured data to disk!"
+msgstr ""
+
+#: libs/ardour/audio_diskstream.cc:1641
+msgid "%1: could not create region for complete audio file"
+msgstr "%1: no se pudo crear la región para el archivo de audio completo"
+
+#: libs/ardour/audio_diskstream.cc:1666
+msgid "AudioDiskstream: could not create region for captured audio!"
+msgstr "AudioDiskstream: no pudo crear región para el audio capturado!"
+
+#: libs/ardour/audio_diskstream.cc:1774
+msgid "programmer error: %1"
+msgstr "error de programador: %1"
+
+#: libs/ardour/audio_diskstream.cc:2051
+msgid "AudioDiskstream: channel %1 out of range"
+msgstr "AudioDiskstream: canal %1 fuera de rango"
+
+#: libs/ardour/audio_diskstream.cc:2070
+msgid "%1:%2 new capture file not initialized correctly"
+msgstr "%1:%2 archivo de captura nuevo no inicializado correctamente"
+
+#: libs/ardour/audio_diskstream.cc:2322
+msgid "%1: cannot restore pending capture source file %2"
+msgstr "%1: no se puede restaurar el archivo de captura pendiente %2"
+
+#: libs/ardour/audio_diskstream.cc:2344
+msgid "%1: incorrect number of pending sources listed - ignoring them all"
+msgstr "%1: cantidad listada de fuentes pendientes incorrecta - se ignorarán todas"
+
+#: libs/ardour/audio_diskstream.cc:2359
+msgid "%1: cannot create whole-file region from pending capture sources"
+msgstr "%1: no se puede crear la región del archivo entero desde las fuentes de captura pendientes"
+
+#: libs/ardour/audio_diskstream.cc:2371
+msgid "%1: cannot create region from pending capture sources"
+msgstr "%1: no se puede crear la región desde las fuentes de captura pendientes"
+
+#: libs/ardour/audioengine.cc:107
+msgid "AudioEngine::start() called while disconnected from JACK"
+msgstr ""
+
+#: libs/ardour/audioengine.cc:116
+msgid "Connect session to engine"
+msgstr "Conectar sesión al motor"
+
+#: libs/ardour/audioengine.cc:496
+msgid "a port with this name already exists: check for duplicated track/bus names"
+msgstr "ya existe un puerto con este nombre: chequee nombres de pistas/buses duplicados"
+
+#: libs/ardour/audioengine.cc:498
+msgid "unknown error"
+msgstr "error desconocido"
+
+#: libs/ardour/audioengine.cc:501
+msgid "AudioEngine: cannot register port \"%1\": %2"
+msgstr "AudioEngine: no se puede registrar el puerto \"%1\": %2"
+
+#: libs/ardour/audioengine.cc:509
+msgid "register input port called before engine was started"
+msgstr "registro de puerto de entrada invocado antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:543
+msgid "register output port called before engine was started"
+msgstr "registro de puerto de salida invocado antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:623
+msgid "connect called before engine was started"
+msgstr "conexión invocada antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:639
+msgid "AudioEngine: connection already exists: %1 (%2) to %3 (%4)"
+msgstr "AudioEngine: la conexión ya existe: %1 (%2) a %3 (%4)"
+
+#: libs/ardour/audioengine.cc:643
+msgid "AudioEngine: cannot connect %1 (%2) to %3 (%4)"
+msgstr "AudioEngine: no se puede conectar %1 (%2) a %3 (%4)"
+
+#: libs/ardour/audioengine.cc:656
+#: libs/ardour/audioengine.cc:685
+msgid "disconnect called before engine was started"
+msgstr "desconexión invocada antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:743
+msgid "get_port_by_name() called before engine was started"
+msgstr "get_port_by_name() invocada antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:787
+msgid "get_ports called before engine was started"
+msgstr "get_ports invocada antes de que se inicie el motor"
+
+#: libs/ardour/audioengine.cc:925
+msgid "get_nth_physical called before engine was connected"
+msgstr "get_nth_physical invocada antes de que se conecte el motor"
+
+#: libs/ardour/audioengine.cc:950
+msgid "get_port_total_latency() called with no JACK client connection"
+msgstr "get_port_total_latency() invocada con ninguna conexión de cliente JACK"
+
+#: libs/ardour/audioengine.cc:1150
+msgid "failed to connect to JACK"
+msgstr "falló la conexión a JACK"
+
+#: libs/ardour/audioengine.cc:1168
+msgid "could not reregister %1"
+msgstr "no se pudo registrar %1"
+
+#: libs/ardour/audioengine.cc:1229
+msgid "Disconnected from JACK while reconnecting. You should quit Ardour now."
+msgstr "Se desconectó de JACK mientras se reconectaba. Debería salir de Ardour ahora"
+
+#: libs/ardour/audioengine.cc:1235
+msgid "could not reconnect %1 and %2 (err = %3)"
+msgstr "no se pudo reconectar %1 y %2 (err = %3)"
+
+#: libs/ardour/audiofilesource.cc:402
+#: libs/ardour/session_state.cc:2888
+msgid "there are already 1000 files with names like %1; versioning discontinued"
+msgstr "ya hay 1000 archivos con nombres como %1; se discontinúa el versionado"
+
+#: libs/ardour/audiofilesource.cc:416
+#: libs/ardour/session_state.cc:2902
+msgid "cannot rename audio file source from %1 to %2 (%3)"
+msgstr "No se puede renombrar el archivo fuente de audio de %1 a %2 (%3)"
+
+#: libs/ardour/audiofilesource.cc:423
+#: libs/ardour/session_state.cc:2916
+msgid "cannot remove peakfile %1 for %2 (%3)"
+msgstr ""
+
+#: libs/ardour/audiofilesource.cc:459
+msgid "FileSource: search path not set"
+msgstr "Filesource: ruta de búsqueda no especificada."
+
+#: libs/ardour/audiofilesource.cc:531
+msgid ""
+"FileSource: \"%1\" is ambigous when searching %2\n"
+"\t"
+msgstr ""
+"Filesource: \"%1\" es ambiguo al buscar %2\n"
+"\t"
+
+#: libs/ardour/audiofilesource.cc:537
+msgid "Filesource: cannot find required file (%1): while searching %2"
+msgstr "Filesource: no se puede encontrar el archivo requerido (%1): al buscar %2."
+
+#: libs/ardour/audiofilesource.cc:577
+msgid "Filesource: cannot find required file (%1): %2"
+msgstr "Filesource: no se puede encontrar el archivo requerido (%1): %2."
+
+#: libs/ardour/audiofilesource.cc:582
+msgid "Filesource: cannot check for existing file (%1): %2"
+msgstr ""
+
+#: libs/ardour/audiofilesource.cc:645
+#: libs/ardour/audiosource.cc:876
+#: libs/ardour/automation_event.cc:639
+#: libs/ardour/insert.cc:555
+#: libs/ardour/session.cc:2295
+#: libs/ardour/session.cc:3717
+#: libs/ardour/session.cc:3756
+#: libs/ardour/session_command.cc:432
+#: libs/ardour/sndfilesource.cc:130
+msgid "programming error: %1"
+msgstr "error de programación: %1"
+
+#: libs/ardour/audiofilesource.cc:651
+msgid "Programming error! Ardour tried to rename a file over another file! It's safe to continue working, but please report this to the developers."
+msgstr "¡Error de programación! ¡Ardour intentó renombrar un archivo sobre otro archivo! Es seguro continuar trabajando, pero por favor, reporte eso a los desarrolladores."
+
+#: libs/ardour/audiofilesource.cc:656
+msgid "cannot rename audio file %1 to %2"
+msgstr "no se puede renombrar el archivo de audio %1 a %1"
+
+#: libs/ardour/audiofilter.cc:43
+msgid ""
+"This is an old Ardour session that does not have\n"
+"sufficient information for rendered FX"
+msgstr ""
+
+#: libs/ardour/audiofilter.cc:66
+msgid "audiofilter: error creating name for new audio file based on %1"
+msgstr "audiofilter: error al crear nombre para nuevo archivo de audio basándose en %1"
+
+#: libs/ardour/audiofilter.cc:77
+msgid "audiofilter: error creating new audio file %1 (%2)"
+msgstr "audiofilter: error al crear nuevo archivo de audio %1 (%2)."
+
+#: libs/ardour/audio_library.cc:61
+msgid "Could not open %1. Audio Library not saved"
+msgstr "No se pudo abrir %1. Biblioteca de Audio no guardada."
+
+#: libs/ardour/audio_playlist.cc:226
+#: libs/ardour/audio_playlist.cc:615
+msgid "programming error: non-audio Region passed to remove_overlap in audio playlist"
+msgstr ""
+
+#: libs/ardour/audio_playlist.cc:356
+msgid "programming error: non-audio Region tested for overlap in audio playlist"
+msgstr ""
+
+#: libs/ardour/audioregion.cc:1636
+msgid ""
+"You have requested an operation that requires audio analysis.\n"
+"\n"
+"You currently have \"auto-analyse-audio\" disabled, which means\n"
+"that transient data must be generated every time it is required.\n"
+"\n"
+"If you are doing work that will require transient data on a\n"
+"regular basis, you should probably enable \"auto-analyse-audio\"\n"
+"then quit ardour and restart."
+msgstr ""
+
+#: libs/ardour/audiosource.cc:178
+msgid "cannot rename peakfile for %1 from %2 to %3 (%4)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:205
+msgid "AudioSource: cannot stat peakfile \"%1\""
+msgstr ""
+
+#: libs/ardour/audiosource.cc:329
+msgid "cannot read sample data for unscaled peak computation"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:349
+msgid "AudioSource: cannot open peakpath (a) \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:423
+msgid "AudioSource: cannot open peakpath (b) \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:537
+msgid "AudioSource[%1]: peak read - cannot read %2 samples at offset %3 of %4 (%5)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:624
+msgid "%1: could not write read raw data for peak computation (%2)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:670
+msgid "AudioSource: cannot open peakpath (c) \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/audiosource.cc:736
+#: libs/ardour/audiosource.cc:848
+msgid "%1: could not write peak file data (%2)"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:140
+msgid "Unknown connection \"%1\" listed for input of %2"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:145
+msgid "in 1+2"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:147
+msgid "in 1"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:151
+msgid "No input connections available as a replacement"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:155
+#: libs/ardour/io.cc:1861
+msgid "Connection %1 was not available - \"%2\" used instead"
+msgstr "La conexión %1 no estaba disponible - se usará \"%2\" en reemplazo"
+
+#: libs/ardour/audio_track.cc:164
+#: libs/ardour/io.cc:1941
+msgid "improper input channel list in XML node (%1)"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:205
+#: libs/ardour/audio_track.cc:218
+msgid "AudioTrack: audio diskstream \"%1\" not known by session"
+msgstr ""
+
+#: libs/ardour/audio_track.cc:260
+msgid "programming error: AudioTrack given state without diskstream!"
+msgstr ""
+
+#: libs/ardour/auditioner.cc:56
+msgid "no outputs available for auditioner - manual connection required"
+msgstr ""
+
+#: libs/ardour/auditioner.cc:127
+msgid "Auditioning of non-audio regions not yet supported"
+msgstr ""
+
+#: libs/ardour/automation_event.cc:785
+#: libs/ardour/panner.cc:843
+msgid "programming error:"
+msgstr "error de programación:"
+
+#: libs/ardour/automation_event.cc:1310
+msgid "automation list: cannot load coordinates from XML, all points ignored"
+msgstr ""
+
+#: libs/ardour/automation_event.cc:1356
+msgid "automation list: no x-coordinate stored for control point (point ignored)"
+msgstr ""
+
+#: libs/ardour/automation_event.cc:1362
+msgid "automation list: no y-coordinate stored for control point (point ignored)"
+msgstr ""
+
+#: libs/ardour/automation_event.cc:1376
+msgid "AutomationList: passed XML node called %1, not \"AutomationList\" - ignored"
+msgstr ""
+
+#: libs/ardour/configuration.cc:98
+msgid "loading system configuration file %1"
+msgstr "cargando el archivo de configuración del sistema %1"
+
+#: libs/ardour/configuration.cc:101
+msgid "Ardour: cannot read system configuration file \"%1\""
+msgstr ""
+
+#: libs/ardour/configuration.cc:108
+msgid "Ardour: system configuration file \"%1\" not loaded successfully."
+msgstr ""
+
+#: libs/ardour/configuration.cc:112
+msgid "your system Ardour configuration file is empty. This probably means that there as an error installing Ardour"
+msgstr ""
+
+#: libs/ardour/configuration.cc:132
+msgid "loading user configuration file %1"
+msgstr "cargando el archivo de configuración de usuario %1"
+
+#: libs/ardour/configuration.cc:135
+msgid "Ardour: cannot read configuration file \"%1\""
+msgstr ""
+
+#: libs/ardour/configuration.cc:142
+msgid "Ardour: user configuration file \"%1\" not loaded successfully."
+msgstr ""
+
+#: libs/ardour/configuration.cc:146
+msgid "your Ardour configuration file is empty. This is not normal."
+msgstr ""
+
+#: libs/ardour/configuration.cc:164
+msgid "Config file %1 not saved"
+msgstr "Archivo de configuración %1 no guardado"
+
+#: libs/ardour/configuration.cc:253
+msgid "ill-formed MIDI port specification in ardour rcfile (ignored)"
+msgstr ""
+
+#: libs/ardour/connection.cc:182
+msgid "Node for Connection has no \"name\" property"
+msgstr ""
+
+#: libs/ardour/connection.cc:190
+msgid "Node for Connection has no \"connections\" property"
+msgstr ""
+
+#: libs/ardour/connection.cc:226
+#: libs/ardour/io.cc:1992
+msgid "IO: badly formed string in XML node for inputs \"%1\""
+msgstr ""
+
+#: libs/ardour/connection.cc:231
+#: libs/ardour/io.cc:1997
+msgid "bad input string in XML node \"%1\""
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:117
+msgid "control protocol name \"%1\" has no descriptor"
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:122
+msgid "control protocol name \"%1\" could not be initialized"
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:189
+msgid "Instantiating mandatory control protocol %1"
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:201
+msgid "looking for control protocols in %1"
+msgstr "buscando protocolos de control en %1"
+
+#: libs/ardour/control_protocol_manager.cc:223
+msgid "Control protocol %1 not usable"
+msgstr "Protocolo de control %1 no usable."
+
+#: libs/ardour/control_protocol_manager.cc:237
+msgid "Control surface protocol discovered: \"%1\""
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:255
+msgid "ControlProtocolManager: cannot load module \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:263
+msgid "ControlProtocolManager: module \"%1\" has no descriptor function."
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:380
+msgid "control protocol XML node has no name property. Ignored."
+msgstr ""
+
+#: libs/ardour/control_protocol_manager.cc:387
+msgid "control protocol \"%1\" is not known. Ignored"
+msgstr "el protocolo de control \"%1\" no existe. No hecho caso."
+
+#: libs/ardour/crossfade.cc:124
+msgid "Crossfade: no \"in\" region in state"
+msgstr ""
+
+#: libs/ardour/crossfade.cc:131
+msgid "Crossfade: no \"in\" region %1 found in playlist %2"
+msgstr ""
+
+#: libs/ardour/crossfade.cc:141
+msgid "Crossfade: no \"out\" region in state"
+msgstr ""
+
+#: libs/ardour/crossfade.cc:148
+msgid "Crossfade: no \"out\" region %1 found in playlist %2"
+msgstr ""
+
+#: libs/ardour/crossfade.cc:719
+msgid "old-style crossfade information - no position information"
+msgstr ""
+
+#: libs/ardour/curve.cc:127
+#: libs/ardour/globals.cc:400
+#: libs/ardour/insert.cc:469
+#: libs/ardour/session.cc:2777
+#: libs/ardour/session.cc:2888
+msgid "programming error: "
+msgstr "error de programación:"
+
+#: libs/ardour/cycle_timer.cc:36
+msgid "CycleTimer::get_mhz(): can't open /proc/cpuinfo"
+msgstr ""
+
+#: libs/ardour/cycle_timer.cc:48
+msgid "CycleTimer::get_mhz(): cannot locate cpu MHz in /proc/cpuinfo"
+msgstr ""
+
+#: libs/ardour/cycle_timer.cc:71
+msgid "cannot locate cpu MHz in /proc/cpuinfo"
+msgstr ""
+
+#: libs/ardour/diskstream.cc:253
+msgid "Location \"%1\" not valid for track loop (start >= end)"
+msgstr ""
+
+#: libs/ardour/globals.cc:116
+msgid "Starting OSC"
+msgstr "Iniciando OSC"
+
+#: libs/ardour/globals.cc:129
+msgid "no MIDI ports specified: no MMC or MTC control possible"
+msgstr ""
+
+#: libs/ardour/globals.cc:133
+msgid "Configuring MIDI ports"
+msgstr "Configurando puertos MIDI"
+
+#: libs/ardour/globals.cc:148
+#: libs/ardour/globals.cc:152
+#: libs/ardour/globals.cc:156
+msgid "default"
+msgstr "default"
+
+#: libs/ardour/globals.cc:186
+msgid "No MMC control (MIDI port \"%1\" not available)"
+msgstr ""
+
+#: libs/ardour/globals.cc:193
+msgid "No MTC support (MIDI port \"%1\" not available)"
+msgstr ""
+
+#: libs/ardour/globals.cc:198
+msgid "No MIDI parameter support (MIDI port \"%1\" not available)"
+msgstr ""
+
+#: libs/ardour/globals.cc:279
+msgid "Could not set system open files limit to \"unlimited\""
+msgstr ""
+
+#: libs/ardour/globals.cc:281
+msgid "Could not set system open files limit to %1"
+msgstr ""
+
+#: libs/ardour/globals.cc:285
+msgid "Removed open file count limit. Excellent!"
+msgstr ""
+
+#: libs/ardour/globals.cc:287
+msgid "Ardour will be limited to %1 open files"
+msgstr "Ardour será limitado a %1 archivos abiertos."
+
+#: libs/ardour/globals.cc:291
+msgid "Could not get system open files limit (%1)"
+msgstr ""
+
+#: libs/ardour/globals.cc:310
+msgid "Loading configuration"
+msgstr "Cargando configuración"
+
+#: libs/ardour/import.cc:185
+msgid "Could not find a source for %1 even though we are updating this file!"
+msgstr ""
+
+#: libs/ardour/import.cc:214
+msgid "Unable to create file %1 during import"
+msgstr "Incapaz de crear el archivo %1 durante la importación"
+
+#: libs/ardour/import.cc:231
+msgid ""
+"converting %1\n"
+"(resample from %2KHz to %3KHz)\n"
+"(%4 of %5)"
+msgstr ""
+"convirtiendo %1\n"
+"(remuestreo desde %2KHz a %3KHz)\n"
+"(%4 de %5)"
+
+#: libs/ardour/import.cc:238
+msgid ""
+"converting %1\n"
+"(%2 of %3)"
+msgstr ""
+"convirtiendo %1\n"
+"(%2 de %3)"
+
+#: libs/ardour/import.cc:324
+msgid "Import: cannot open input sound file \"%1\""
+msgstr ""
+
+#: libs/ardour/insert.cc:656
+#: libs/ardour/insert.cc:991
+msgid "XML node describing insert is missing the `type' field"
+msgstr ""
+
+#: libs/ardour/insert.cc:669
+msgid "unknown plugin type %1 in plugin insert state"
+msgstr ""
+
+#: libs/ardour/insert.cc:689
+msgid "Plugin has no unique ID field"
+msgstr "El plugin no tiene un campo de ID único."
+
+#: libs/ardour/insert.cc:699
+msgid ""
+"Found a reference to a plugin (\"%1\") that is unknown.\n"
+"Perhaps it was removed or moved since it was last used."
+msgstr ""
+
+#: libs/ardour/insert.cc:730
+msgid "XML node describing a plugin insert is missing the `%1' information"
+msgstr ""
+
+#: libs/ardour/insert.cc:742
+#: libs/ardour/insert.cc:1019
+msgid "XML node describing insert is missing a Redirect node"
+msgstr ""
+
+#: libs/ardour/insert.cc:796
+msgid "PluginInsert: Auto: no ladspa port number"
+msgstr ""
+
+#: libs/ardour/insert.cc:803
+msgid "PluginInsert: Auto: port id out of range"
+msgstr ""
+
+#: libs/ardour/insert.cc:834
+msgid "XML node describing a port automation is missing the `%1' information"
+msgstr ""
+
+#: libs/ardour/insert.cc:897
+#: libs/ardour/insert.cc:905
+msgid "insert %1"
+msgstr "inserción %1"
+
+#: libs/ardour/insert.cc:996
+msgid "non-port insert XML used for port plugin insert"
+msgstr ""
+
+#: libs/ardour/io.cc:639
+msgid "IO: cannot disconnect input port %1 from %2"
+msgstr ""
+
+#: libs/ardour/io.cc:707
+msgid "IO: cannot disconnect output port %1 from %2"
+msgstr ""
+
+#: libs/ardour/io.cc:861
+#: libs/ardour/io.cc:1190
+#: libs/ardour/io.cc:1309
+msgid "IO: cannot register output port %1"
+msgstr ""
+
+#: libs/ardour/io.cc:968
+#: libs/ardour/io.cc:1067
+#: libs/ardour/io.cc:1165
+msgid "IO: cannot register input port %1"
+msgstr ""
+
+#: libs/ardour/io.cc:1559
+msgid "incorrect XML node \"%1\" passed to IO object"
+msgstr ""
+
+#: libs/ardour/io.cc:1683
+msgid "%1: cannot open automation event file \"%2\""
+msgstr ""
+
+#: libs/ardour/io.cc:1698
+msgid "badly formed version number in automation event file \"%1\""
+msgstr ""
+
+#: libs/ardour/io.cc:1702
+msgid "no version information in automation event file \"%1\""
+msgstr ""
+
+#: libs/ardour/io.cc:1710
+msgid "badly formatted automation event record at line %1 of %2 (ignored)"
+msgstr ""
+
+#: libs/ardour/io.cc:1730
+msgid "dubious automation event found (and ignored)"
+msgstr ""
+
+#: libs/ardour/io.cc:1743
+msgid "IO::connecting_became_legal() called without a pending state node"
+msgstr ""
+
+#: libs/ardour/io.cc:1765
+msgid "IO::ports_became_legal() called without a pending state node"
+msgstr ""
+
+#: libs/ardour/io.cc:1795
+msgid "Unknown connection \"%1\" listed for %2 of %3"
+msgstr ""
+
+#: libs/ardour/io.cc:1864
+msgid "No %1 connections available as a replacement"
+msgstr "No hay %1 conexiones disponibles como reemplazo"
+
+#: libs/ardour/io.cc:1883
+#: libs/ardour/io.cc:1931
+#: libs/ardour/io.cc:2698
+msgid "in"
+msgstr ""
+
+#: libs/ardour/io.cc:1883
+#: libs/ardour/io.cc:1931
+msgid "input"
+msgstr ""
+
+#: libs/ardour/io.cc:1897
+#: libs/ardour/io.cc:1947
+#: libs/ardour/io.cc:2701
+msgid "out"
+msgstr ""
+
+#: libs/ardour/io.cc:1897
+#: libs/ardour/io.cc:1947
+msgid "output"
+msgstr ""
+
+#: libs/ardour/io.cc:1912
+msgid "%1: cannot create I/O ports"
+msgstr "%1: no se pueden crear puertos de E/S"
+
+#: libs/ardour/io.cc:1957
+msgid "improper output channel list in XML node (%1)"
+msgstr ""
+
+#: libs/ardour/io.cc:2042
+msgid "IO: badly formed string in XML node for outputs \"%1\""
+msgstr ""
+
+#: libs/ardour/io.cc:2047
+msgid "IO: bad output string in XML node \"%1\""
+msgstr ""
+
+#: libs/ardour/io.cc:2131
+msgid "you cannot use colons to name objects with I/O connections"
+msgstr ""
+
+#: libs/ardour/io.cc:2753
+#: libs/ardour/io.cc:2786
+#, c-format
+msgid "%s %u"
+msgstr "%s %u"
+
+#: libs/ardour/ladspa_plugin.cc:86
+msgid "LADSPA: module has no descriptor function."
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:91
+msgid "LADSPA: plugin has gone away since discovery!"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:98
+msgid "LADSPA: \"%1\" cannot be used, since it cannot do inplace processing"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:306
+msgid "illegal parameter number used with plugin \"%1\". This mayindicate a change in the plugin design, and presets may beinvalid"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:389
+msgid "Bad node sent to LadspaPlugin::set_state"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:402
+msgid "LADSPA: no ladspa port number"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:409
+msgid "LADSPA: no ladspa port data"
+msgstr ""
+
+#: libs/ardour/ladspa_plugin.cc:648
+msgid "LADSPA: cannot load module from \"%1\""
+msgstr ""
+
+#: libs/ardour/location.cc:224
+msgid "You cannot put a CD marker at this position"
+msgstr "No puedes poner una marca de CD en esta posición."
+
+#: libs/ardour/location.cc:353
+msgid "incorrect XML node passed to Location::set_state"
+msgstr ""
+
+#: libs/ardour/location.cc:358
+msgid "XML node for Location has no ID information"
+msgstr ""
+
+#: libs/ardour/location.cc:364
+msgid "XML node for Location has no name information"
+msgstr ""
+
+#: libs/ardour/location.cc:371
+msgid "XML node for Location has no start information"
+msgstr ""
+
+#: libs/ardour/location.cc:382
+msgid "XML node for Location has no end information"
+msgstr ""
+
+#: libs/ardour/location.cc:389
+msgid "XML node for Location has no flags information"
+msgstr ""
+
+#: libs/ardour/location.cc:506
+msgid "Locations: attempt to use unknown location as selected location"
+msgstr ""
+
+#: libs/ardour/location.cc:674
+msgid "incorrect XML mode passed to Locations::set_state"
+msgstr ""
+
+#: libs/ardour/location.cc:695
+msgid "could not load location from session file - ignored"
+msgstr ""
+
+#: libs/ardour/mtc_slave.cc:127
+msgid "Unknown rate/drop value %1 in incoming MTC stream, session values used instead"
+msgstr ""
+
+#: libs/ardour/mtc_slave.cc:236
+msgid "MTC Slave: atomic read of current time failed, sleeping!"
+msgstr ""
+
+#: libs/ardour/named_selection.cc:88
+msgid "Chunk %1 uses an unknown playlist \"%2\""
+msgstr ""
+
+#: libs/ardour/named_selection.cc:91
+msgid "Chunk %1 contains misformed playlist information"
+msgstr ""
+
+#: libs/ardour/panner.cc:253
+msgid "badly formatted pan automation event record at line %1 of %2 (ignored) [%3]"
+msgstr ""
+
+#: libs/ardour/panner.cc:749
+msgid "badly-formed positional data for Multi2dPanner - ignored"
+msgstr ""
+
+#: libs/ardour/panner.cc:1149
+msgid "Unknown panner plugin \"%1\" found in pan state - ignored"
+msgstr ""
+
+#: libs/ardour/panner.cc:1155
+msgid "panner plugin node has no type information!"
+msgstr ""
+
+#: libs/ardour/panner.cc:1361
+msgid "cannot open pan automation file %1 (%2)"
+msgstr "No se puede abrir el archivo de automatización de panorámica %1 (%2)."
+
+#: libs/ardour/panner.cc:1374
+msgid "badly formed version number in pan automation event file \"%1\""
+msgstr ""
+
+#: libs/ardour/panner.cc:1378
+msgid "no version information in pan automation event file \"%1\" (first line = %2)"
+msgstr ""
+
+#: libs/ardour/panner.cc:1393
+msgid "too many panner states found in pan automation file %1"
+msgstr ""
+
+#: libs/ardour/playlist.cc:250
+msgid "playlist const copy constructor called"
+msgstr ""
+
+#: libs/ardour/playlist.cc:256
+msgid "playlist non-const copy constructor called"
+msgstr ""
+
+#: libs/ardour/playlist.cc:1217
+msgid "%1: bounds changed received for region (%2)not in playlist"
+msgstr ""
+
+#: libs/ardour/playlist.cc:1750
+msgid "region state node has no ID, ignored"
+msgstr ""
+
+#: libs/ardour/playlist.cc:1761
+msgid "Playlist: cannot reset region state from XML"
+msgstr ""
+
+#: libs/ardour/playlist.cc:1766
+msgid "Playlist: cannot create region from XML"
+msgstr ""
+
+#: libs/ardour/plugin.cc:283
+msgid "Could not locate HOME. Preset not saved."
+msgstr ""
+
+#: libs/ardour/plugin.cc:293
+#: libs/ardour/plugin.cc:299
+msgid "Could not create %1. Preset not saved. (%2)"
+msgstr "No se pudo crear %1. El preset no se guardó. (%2)"
+
+#: libs/ardour/plugin.cc:304
+msgid "Error saving presets file %1."
+msgstr "Error al guardar el archivo de preset %1."
+
+#: libs/ardour/plugin_manager.cc:79
+msgid "Cannot become GUI app"
+msgstr ""
+
+#: libs/ardour/plugin_manager.cc:129
+msgid "Discovering Plugins"
+msgstr "Descubriendo plugins"
+
+#: libs/ardour/plugin_manager.cc:274
+msgid "Could not parse rdf file: %1"
+msgstr ""
+
+#: libs/ardour/plugin_manager.cc:314
+msgid "LADSPA: cannot load module \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/plugin_manager.cc:321
+msgid "LADSPA: module \"%1\" has no descriptor function."
+msgstr ""
+
+#: libs/ardour/plugin_manager.cc:505
+msgid "VST plugin %1 does not support processReplacing, and so cannot be used in ardour at this time"
+msgstr ""
+
+#: libs/ardour/plugin_manager.cc:616
+msgid "unknown favorite plugin type \"%1\" - ignored"
+msgstr ""
+
+#: libs/ardour/recent_sessions.cc:48
+msgid "cannot open recent session file %1 (%2)"
+msgstr ""
+
+#: libs/ardour/redirect.cc:80
+msgid "programming error: unknown Redirect type in Redirect::Clone!\n"
+msgstr ""
+
+#: libs/ardour/redirect.cc:130
+msgid "%2: badly formatted node name in XML automation state, ignored"
+msgstr ""
+
+#: libs/ardour/redirect.cc:143
+msgid "%1: cannot load automation data from XML"
+msgstr ""
+
+#: libs/ardour/redirect.cc:224
+msgid "incorrect XML node \"%1\" passed to Redirect object"
+msgstr ""
+
+#: libs/ardour/redirect.cc:272
+msgid "XML node describing an IO is missing an IO node"
+msgstr ""
+
+#: libs/ardour/redirect.cc:277
+msgid "XML node describing a redirect is missing the `active' field"
+msgstr ""
+
+#: libs/ardour/redirect.cc:290
+msgid "XML node describing a redirect is missing the `placement' field"
+msgstr ""
+
+#: libs/ardour/redirect.cc:320
+msgid "%1: Automation node has no path property"
+msgstr ""
+
+#: libs/ardour/redirect.cc:355
+msgid "%1: cannot open %2 to load automation data (%3)"
+msgstr ""
+
+#: libs/ardour/redirect.cc:380
+msgid "%1: cannot load automation data from %2"
+msgstr ""
+
+#: libs/ardour/region.cc:1006
+msgid "XMLNode describing a Region is incomplete (no name)"
+msgstr ""
+
+#: libs/ardour/region.cc:1163
+msgid "Session: XMLNode describing a Region is incomplete (no id)"
+msgstr ""
+
+#: libs/ardour/region_factory.cc:52
+#: libs/ardour/region_factory.cc:69
+#: libs/ardour/region_factory.cc:104
+msgid "programming error: RegionFactory::create() called with unknown Region type"
+msgstr ""
+
+#: libs/ardour/resampled_source.cc:61
+msgid "Import: src_new() failed : %1"
+msgstr ""
+
+#: libs/ardour/resampled_source.cc:113
+msgid "Import: %1"
+msgstr "Importar: %1"
+
+#: libs/ardour/route.cc:84
+#: libs/ardour/session.cc:1599
+#: libs/ardour/session.cc:1605
+#: libs/ardour/session.cc:1910
+#: libs/ardour/session.cc:3510
+msgid "signal"
+msgstr "señal"
+
+#: libs/ardour/route.cc:1620
+msgid "Send construction failed"
+msgstr ""
+
+#: libs/ardour/route.cc:1648
+msgid "unknown Insert type \"%1\"; ignored"
+msgstr ""
+
+#: libs/ardour/route.cc:1656
+msgid "Insert XML node has no type property"
+msgstr ""
+
+#: libs/ardour/route.cc:1661
+msgid "insert could not be created. Ignored."
+msgstr ""
+
+#: libs/ardour/route.cc:1683
+msgid "Bad node sent to Route::set_state() [%1]"
+msgstr ""
+
+#: libs/ardour/route.cc:1749
+msgid "Route %1: unknown edit group \"%2 in saved state (ignored)"
+msgstr ""
+
+#: libs/ardour/route.cc:1765
+#: libs/ardour/route.cc:1769
+msgid "badly formed order key string in state file! [%1] ... ignored."
+msgstr ""
+
+#: libs/ardour/route.cc:1835
+#: libs/ardour/route.cc:2052
+msgid "[control]"
+msgstr "[control]"
+
+#: libs/ardour/route.cc:1874
+msgid "Route %1: unknown mix group \"%2 in saved state (ignored)"
+msgstr ""
+
+#: libs/ardour/route.cc:2070
+msgid "could not connect %1 to %2"
+msgstr "no se pudo conectar %1a %2"
+
+#: libs/ardour/send.cc:35
+#: libs/ardour/send.cc:58
+msgid "send %1"
+msgstr "envío %1"
+
+#: libs/ardour/send.cc:145
+msgid "XML node describing a send is missing a Redirect node"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:80
+#: libs/ardour/session_midi.cc:1085
+msgid "Cannot create transport request signal pipe (%1)"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:85
+#: libs/ardour/session_butler.cc:90
+msgid "UI: cannot set O_NONBLOCK on butler request pipe (%1)"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:95
+msgid "Session: could not create butler thread"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:185
+msgid "poll on butler request pipe failed (%1)"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:192
+msgid "Error on butler thread request pipe: fd=%1 err=%2"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:233
+msgid "Error reading from butler request pipe"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:278
+msgid "Butler read ahead failure on dstream %1"
+msgstr ""
+
+#: libs/ardour/session_butler.cc:323
+msgid "Butler write-behind failure on dstream %1"
+msgstr ""
+
+#: libs/ardour/session.cc:132
+msgid "Could not resolve path: %1 (%2)"
+msgstr ""
+
+#: libs/ardour/session.cc:144
+msgid "cannot check session path %1 (%2)"
+msgstr ""
+
+#: libs/ardour/session.cc:174
+msgid "cannot check statefile %1 (%2)"
+msgstr ""
+
+#: libs/ardour/session.cc:210
+msgid "%1 is not an Ardour snapshot file"
+msgstr "%1 no es un archivo de captura de sesión de Ardour"
+
+#: libs/ardour/session.cc:227
+msgid "cannot determine current working directory (%1)"
+msgstr ""
+
+#: libs/ardour/session.cc:244
+msgid "unknown file type for session %1"
+msgstr "tipo de archivo desconocido para la sesión %1"
+
+#: libs/ardour/session.cc:407
+msgid "monitor"
+msgstr ""
+
+#: libs/ardour/session.cc:414
+#: libs/ardour/session.cc:1939
+msgid "master"
+msgstr ""
+
+#: libs/ardour/session.cc:684
+msgid "Set block size and sample rate"
+msgstr ""
+
+#: libs/ardour/session.cc:689
+msgid "Using configuration"
+msgstr ""
+
+#: libs/ardour/session.cc:722
+msgid "could not setup Click I/O"
+msgstr "no se pudo configurar la E/S del click"
+
+#: libs/ardour/session.cc:743
+msgid "cannot setup Click I/O"
+msgstr "no se puede configurar la E/S del click"
+
+#: libs/ardour/session.cc:746
+msgid "Compute I/O Latencies"
+msgstr "Computar las latencias de E/S"
+
+#: libs/ardour/session.cc:758
+msgid "Set up standard connections"
+msgstr "Configurar las conexiones estándar"
+
+#: libs/ardour/session.cc:764
+#, c-format
+msgid "out %<PRIu32>"
+msgstr ""
+
+#: libs/ardour/session.cc:776
+#, c-format
+msgid "in %<PRIu32>"
+msgstr ""
+
+#: libs/ardour/session.cc:790
+#, c-format
+msgid "out %<PRIu32>+%<PRIu32>"
+msgstr ""
+
+#: libs/ardour/session.cc:804
+#, c-format
+msgid "in %<PRIu32>+%<PRIu32>"
+msgstr ""
+
+#: libs/ardour/session.cc:837
+msgid "cannot setup master inputs"
+msgstr "no se pueden configurar las entradas principales"
+
+#: libs/ardour/session.cc:845
+msgid "cannot setup master outputs"
+msgstr "no se pueden configurar las salidas principales"
+
+#: libs/ardour/session.cc:856
+msgid "Master Out"
+msgstr ""
+
+#: libs/ardour/session.cc:865
+msgid "Setup signal flow and plugins"
+msgstr ""
+
+#: libs/ardour/session.cc:871
+msgid "Catch up with send/insert state"
+msgstr ""
+
+#: libs/ardour/session.cc:902
+msgid "Connect to engine"
+msgstr "Conectar a motor"
+
+#: libs/ardour/session.cc:909
+msgid "OSC startup"
+msgstr "Inicio de OSC"
+
+#: libs/ardour/session.cc:938
+msgid "cannot create Auditioner: no auditioning of regions possible"
+msgstr ""
+
+#: libs/ardour/session.cc:952
+msgid "cannot setup control inputs"
+msgstr ""
+
+#: libs/ardour/session.cc:960
+msgid "cannot set up master outputs"
+msgstr ""
+
+#: libs/ardour/session.cc:1163
+msgid "Session: you can't use that location for auto punch (start <= end)"
+msgstr ""
+
+#: libs/ardour/session.cc:1204
+msgid "Session: you can't use a mark for auto loop"
+msgstr ""
+
+#: libs/ardour/session.cc:1617
+msgid "feedback loop setup between %1 and %2"
+msgstr ""
+
+#: libs/ardour/session.cc:1804
+#: libs/ardour/session.cc:1970
+msgid "cannot configure %1 in/%2 out configuration for new audio track"
+msgstr ""
+
+#: libs/ardour/session.cc:1856
+msgid "Session: could not create new audio track."
+msgstr ""
+
+#: libs/ardour/session.cc:1874
+#: libs/ardour/session.cc:2019
+#: libs/ardour/session.cc:2103
+msgid "No more JACK ports are available. You will need to stop Ardour and restart JACK with ports if you need this many tracks."
+msgstr "JACK no disponde de más puertos. Necesitará salir de Ardour y reiniciar JACK con más puertos si usted necesita tantas pistas"
+
+#: libs/ardour/session.cc:1913
+msgid "editor"
+msgstr "editor"
+
+#: libs/ardour/session.cc:2014
+msgid "Session: could not create new audio route."
+msgstr "Sesión: No se pudo crear la ruta del nuevo audio"
+
+#: libs/ardour/session.cc:2076
+msgid "Session: UINT_MAX routes? impossible!"
+msgstr ""
+
+#: libs/ardour/session.cc:2087
+msgid "Session: cannot create track/bus from template description"
+msgstr ""
+
+#: libs/ardour/session.cc:2098
+#, fuzzy
+msgid "Session: could not create new route from template"
+msgstr "Sesión: No se pudo crear la ruta del nuevo audio"
+
+#: libs/ardour/session.cc:2267
+msgid "session"
+msgstr "sesión"
+
+#: libs/ardour/session.cc:2666
+msgid "cannot create new name for region \"%1\""
+msgstr "no se puede crear un nuevo nombre para region \"%1\""
+
+#: libs/ardour/session.cc:2744
+#: libs/ardour/session.cc:2804
+msgid "Session::add_region() ignored a null region. Warning: you might have lost a region."
+msgstr ""
+
+#: libs/ardour/session.cc:3300
+msgid "There are already %1 recordings for %2, which I consider too many."
+msgstr ""
+
+#: libs/ardour/session.cc:3531
+msgid "Cannot compile tape track regexp for use (%1)"
+msgstr ""
+
+#: libs/ardour/session.cc:3684
+msgid "programming error: unknown type of Insert created!"
+msgstr ""
+
+#: libs/ardour/session.cc:3690
+msgid "programming error: unknown type of Redirect created!"
+msgstr ""
+
+#: libs/ardour/session.cc:3729
+msgid "programming error: unknown type of Redirect deleted!"
+msgstr ""
+
+#: libs/ardour/session.cc:3849
+#: libs/ardour/session.cc:3863
+#: libs/ardour/session.cc:4268
+msgid "Memory allocation error: posix_memalign (%1 * %2) failed (%3)"
+msgstr ""
+
+#: libs/ardour/session.cc:3933
+msgid "send ID %1 appears to be in use already"
+msgstr ""
+
+#: libs/ardour/session.cc:3945
+msgid "insert ID %1 appears to be in use already"
+msgstr ""
+
+#: libs/ardour/session.cc:4098
+msgid "Cannot write a range where end <= start (e.g. %1 <= %2)"
+msgstr ""
+
+#: libs/ardour/session.cc:4134
+msgid "too many bounced versions of playlist \"%1\""
+msgstr ""
+
+#: libs/ardour/session.cc:4143
+msgid "cannot create new audio file \"%1\" for %2"
+msgstr "no se puede crear nuevo archivo de audio"
+
+#: libs/ardour/session.cc:4253
+msgid "Programming error: get_silent_buffers() called for %1 buffers but only %2 exist"
+msgstr ""
+
+#: libs/ardour/session_click.cc:160
+msgid "cannot open click soundfile %1 (%2)"
+msgstr ""
+
+#: libs/ardour/session_click.cc:169
+msgid "cannot read data from click soundfile"
+msgstr ""
+
+#: libs/ardour/session_click.cc:196
+msgid "cannot open click emphasis soundfile %1 (%2)"
+msgstr ""
+
+#: libs/ardour/session_click.cc:204
+msgid "cannot read data from click emphasis soundfile"
+msgstr ""
+
+#: libs/ardour/session_command.cc:75
+msgid "Tried to reconstitute a MementoCommand with no contents, failing. id="
+msgstr ""
+
+#: libs/ardour/session_command.cc:111
+msgid "could not reconstitute MementoCommand from XMLNode. object type = %1 id = %2"
+msgstr ""
+
+#: libs/ardour/session_command.cc:123
+msgid "GlobalRouteStateCommand has no \"type\" node, ignoring"
+msgstr ""
+
+#: libs/ardour/session_command.cc:138
+msgid "unknown type of GlobalRouteStateCommand (%1), ignored"
+msgstr ""
+
+#: libs/ardour/session_command.cc:186
+msgid "global route state command has no \"%1\" node, ignoring entire command"
+msgstr ""
+
+#: libs/ardour/session_command.cc:202
+#: libs/ardour/session_command.cc:515
+msgid "cannot find track/bus \"%1\" while rebuilding a global route state command, ignored"
+msgstr ""
+
+#: libs/ardour/session_command.cc:499
+msgid "global route meter state command has no \"%1\" node, ignoring entire command"
+msgstr ""
+
+#: libs/ardour/session_events.cc:161
+msgid "Session: cannot have two events of type %1 at the same frame (%2)."
+msgstr ""
+
+#: libs/ardour/session_events.cc:437
+msgid "Programming error: illegal event type in process_event (%1)"
+msgstr ""
+
+#: libs/ardour/session_export.cc:62
+msgid "Export: no output file specified"
+msgstr ""
+
+#: libs/ardour/session_export.cc:163
+#: libs/ardour/session_export.cc:168
+msgid "illegal frame range in export specification"
+msgstr ""
+
+#: libs/ardour/session_export.cc:173
+msgid "Bad data width size. Report me!"
+msgstr ""
+
+#: libs/ardour/session_export.cc:203
+msgid "Export: cannot open output file \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_export.cc:213
+msgid "cannot initialize sample rate conversion: %1"
+msgstr ""
+
+#: libs/ardour/session_export.cc:321
+msgid "an error occured during sample rate conversion: %1"
+msgstr ""
+
+#: libs/ardour/session_export.cc:332
+msgid "warning, leftover frames overflowed, glitches might occur in output"
+msgstr ""
+
+#: libs/ardour/session_export.cc:423
+msgid "Export: could not write data to output file (%1)"
+msgstr ""
+
+#: libs/ardour/session_export.cc:518
+msgid "%1: cannot seek to %2 for export"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:94
+msgid "Ardour is slaved to MTC - port cannot be reset"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:109
+msgid "unknown port %1 requested for MTC"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:446
+msgid "Error reading from MIDI port %1"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:816
+msgid "Session: could not send full MIDI time code"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:875
+msgid "Session: cannot send quarter-frame MTC message (%1)"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:983
+msgid "MMC: cannot send command %1%2%3"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1090
+msgid "UI: cannot set O_NONBLOCK on signal read pipe (%1)"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1095
+msgid "UI: cannot set O_NONBLOCK on signal write pipe (%1)"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1100
+msgid "Session: could not create transport thread"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1131
+msgid "cannot send signal to midi thread! (%1)"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1229
+msgid "MIDI thread poll failed (%1)"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1241
+msgid "Error on transport thread request pipe"
+msgstr ""
+
+#: libs/ardour/session_midi.cc:1268
+msgid "Error reading from transport request pipe"
+msgstr ""
+
+#: libs/ardour/session_process.cc:102
+msgid "Session: error in no roll for %1"
+msgstr ""
+
+#: libs/ardour/session_state.cc:109
+msgid "Could not use path %1 (%s)"
+msgstr "No se pudo usar la ruta %1 (%s)"
+
+#: libs/ardour/session_state.cc:145
+#: libs/ardour/session_state.cc:1032
+msgid "end"
+msgstr "fin"
+
+#: libs/ardour/session_state.cc:146
+#: libs/ardour/session_state.cc:1031
+msgid "start"
+msgstr "inicio"
+
+#: libs/ardour/session_state.cc:331
+msgid "Reset Remote Controls"
+msgstr "Reestablecer los Controles Remotos"
+
+#: libs/ardour/session_state.cc:340
+msgid "Reset Control Protocols"
+msgstr "Reestablecer los Protocolos de Control"
+
+#: libs/ardour/session_state.cc:360
+msgid "Session loading complete"
+msgstr "Carga de la sesión completa"
+
+#: libs/ardour/session_state.cc:460
+#: libs/ardour/session_state.cc:2864
+msgid "Session: cannot create session peakfile folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:471
+msgid "Session: cannot create session sounds folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:479
+msgid "Session: cannot create session dead sounds folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:486
+msgid "Session: cannot create session export folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:493
+msgid "Session: cannot create session analysis folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:505
+msgid "Session: cannot create session folder \"%1\" (%2)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:537
+msgid "Could not open %1 for writing mix template"
+msgstr ""
+
+#: libs/ardour/session_state.cc:543
+msgid "Could not open mix template %1 for reading"
+msgstr ""
+
+#: libs/ardour/session_state.cc:582
+msgid "Session: could not load diskstream via XML state"
+msgstr ""
+
+#: libs/ardour/session_state.cc:625
+msgid "could not rename snapshot %1 to %2"
+msgstr ""
+
+#: libs/ardour/session_state.cc:664
+msgid "Ardour's audio engine is not connected and state saving would lose all I/O connections. Session not saved"
+msgstr ""
+
+#: libs/ardour/session_state.cc:708
+msgid "state could not be saved to %1"
+msgstr ""
+
+#: libs/ardour/session_state.cc:715
+msgid "could not rename temporary session file %1 to %2"
+msgstr ""
+
+#: libs/ardour/session_state.cc:785
+msgid "%1: session state information file \"%2\" doesn't exist!"
+msgstr ""
+
+#: libs/ardour/session_state.cc:794
+msgid "Could not understand ardour file %1"
+msgstr ""
+
+#: libs/ardour/session_state.cc:803
+msgid "Session file %1 is not an Ardour session"
+msgstr ""
+
+#: libs/ardour/session_state.cc:834
+msgid ""
+"Copying old session file %1 to %2\n"
+"Use %2 with Ardour versions before 2.0 from now on"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1150
+msgid "programming error: Session: incorrect XML node sent to set_state()"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1216
+msgid "Session: XML state has no options section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1223
+msgid "Session: XML state has no locations section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1256
+msgid "Session: XML state has no sources section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1263
+msgid "Session: XML state has no Regions section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1270
+msgid "Session: XML state has no playlists section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1289
+msgid "Session: XML state has no diskstreams section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1296
+msgid "Session: XML state has no connections section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1303
+msgid "Session: XML state has no edit groups section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1310
+msgid "Session: XML state has no mix groups section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1317
+msgid "Session: XML state has no Tempo Map section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1324
+msgid "Session: XML state has no routes section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1331
+msgid "Session: XML state has no click section"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1366
+msgid "Session: cannot create Route from XML description."
+msgstr ""
+
+#: libs/ardour/session_state.cc:1370
+msgid "Loaded track/bus %1"
+msgstr "Pista/bus %1 cargado"
+
+#: libs/ardour/session_state.cc:1409
+msgid "Session: cannot create Region from XML description."
+msgstr ""
+
+#: libs/ardour/session_state.cc:1413
+msgid "Can not load state for region '%1'"
+msgstr "No se puede cargar el estado de la región '%1'"
+
+#: libs/ardour/session_state.cc:1450
+msgid "Session: XMLNode describing a AudioRegion is incomplete (no source)"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1458
+#: libs/ardour/session_state.cc:1479
+#: libs/ardour/session_state.cc:1499
+msgid "Session: XMLNode describing a AudioRegion references an unknown source id =%1"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1464
+#: libs/ardour/session_state.cc:1485
+#: libs/ardour/session_state.cc:1505
+msgid "Session: XMLNode describing a AudioRegion references a non-audio source id =%1"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1528
+msgid "Session: XMLNode describing an AudioRegion is missing some master sources; ignored"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1579
+msgid "cannot create new file from region name \"%1\" with ident = \"%2\": too many existing files with similar names"
+msgstr ""
+
+#: libs/ardour/session_state.cc:1602
+msgid "Session: cannot create Source from XML description."
+msgstr ""
+
+#: libs/ardour/session_state.cc:1607
+msgid "A sound file is missing. It will be replaced by silence."
+msgstr "No se encuentra un archivo de audio. Será reemplazado por silencio."
+
+#: libs/ardour/session_state.cc:1628
+msgid "Found a sound file that cannot be used by Ardour. Talk to the progammers."
+msgstr "Se encontró un archivo de audio que Ardour no puede usar. Hable con los programadores."
+
+#: libs/ardour/session_state.cc:1650
+msgid "Could not create mix templates directory \"%1\" (%2)"
+msgstr "No se pudo crear el directorio para plantillas de mezclas \"%1\" (%2)"
+
+#: libs/ardour/session_state.cc:1662
+msgid "Template \"%1\" already exists - new version not created"
+msgstr "La plantilla \"%1\" ya existe - no se creará una nueva versión"
+
+#: libs/ardour/session_state.cc:1669
+msgid "mix template not saved"
+msgstr "plantilla de mezcla no guardada"
+
+#: libs/ardour/session_state.cc:1726
+msgid "cannot create session directory \"%1\"; ignored"
+msgstr "No se puede crear el directorio para la sesión \"%1\"; ignorado."
+
+#: libs/ardour/session_state.cc:1735
+msgid "cannot create sounds directory \"%1\"; ignored"
+msgstr "No se puede crear el directorio para archivos de audio \"%1\"; ignorado."
+
+#: libs/ardour/session_state.cc:1742
+msgid "cannot create dead sounds directory \"%1\"; ignored"
+msgstr "No se puede crear el directorio para archivos purgados \"%1\"; ignorado."
+
+# se refiere al directorio donde se guardan los archivos con las "imágenes" de cada sonido, creo
+#: libs/ardour/session_state.cc:1749
+msgid "cannot create peak file directory \"%1\"; ignored"
+msgstr "No se puede crear el directorio para archivos de forma de onda \"%1\"; ignorado."
+
+#: libs/ardour/session_state.cc:1881
+#: libs/ardour/session_state.cc:1902
+msgid "Session: cannot create Playlist from XML description."
+msgstr ""
+
+#: libs/ardour/session_state.cc:1941
+msgid "Session: cannot create Named Selection from XML description."
+msgstr ""
+
+#: libs/ardour/session_state.cc:2143
+msgid "Unknown node \"%1\" found in Connections list from state file"
+msgstr "Nodo desconocido \"%1\" encontrado en la lista de Conexiones del archivo de estado."
+
+#: libs/ardour/session_state.cc:2989
+msgid "cannot remove dead sound file %1 (%2)"
+msgstr "No se puede eliminar el archivo purgado %1 (%2)."
+
+#: libs/ardour/session_state.cc:3105
+msgid "could not backup old history file, current history not saved."
+msgstr "No se pudo crear una copia de respaldo del antiguo archivo de historial, historial actual no guardado."
+
+#: libs/ardour/session_state.cc:3117
+msgid "history could not be saved to %1"
+msgstr "No se pudo guardar el historial a %1"
+
+#: libs/ardour/session_state.cc:3124
+msgid "could not remove corrupt history file %1"
+msgstr "No se pudo eliminar el archivo de historial dañado %1"
+
+#: libs/ardour/session_state.cc:3128
+msgid "could not restore history file from backup %1"
+msgstr "No se pudo recuperar el archivo de historial desde la copia de respaldo %1."
+
+#: libs/ardour/session_state.cc:3150
+msgid "Loading history from '%1'."
+msgstr "Cargando historial desde '%1'."
+
+#: libs/ardour/session_state.cc:3157
+msgid "Could not understand session history file \"%1\""
+msgstr "No se pudo interpretar el archivo de historial de sesión \"%1\"."
+
+#: libs/ardour/session_state.cc:3200
+msgid "Couldn't figure out how to make a Command out of a %1 XMLNode."
+msgstr ""
+
+#: libs/ardour/session_time.cc:483
+msgid "Unknown JACK transport state %1 in sync callback"
+msgstr ""
+
+#: libs/ardour/session_transport.cc:119
+msgid "Cannot loop - no loop range defined"
+msgstr "No se puede reproducir en bucle - no se definió un rango de bucle."
+
+#: libs/ardour/session_transport.cc:538
+msgid ""
+"Seamless looping cannot be supported while Ardour is using JACK transport.\n"
+"Recommend changing the configured options"
+msgstr ""
+
+#: libs/ardour/session_transport.cc:842
+msgid "Global varispeed cannot be supported while Ardour is connected to JACK transport control"
+msgstr ""
+
+#: libs/ardour/session_transport.cc:1025
+msgid "please stop the transport before adjusting slave settings"
+msgstr "por favor, detenga el transporte antes de cambiar los ajustes del esclavo"
+
+#: libs/ardour/session_transport.cc:1058
+msgid "No MTC port defined: MTC slaving is impossible."
+msgstr ""
+
+#: libs/ardour/sndfile_helpers.cc:34
+msgid "WAV"
+msgstr "WAV"
+
+#: libs/ardour/sndfile_helpers.cc:35
+msgid "AIFF"
+msgstr "AIFF"
+
+#: libs/ardour/sndfile_helpers.cc:36
+msgid "CAF"
+msgstr "CAF"
+
+#: libs/ardour/sndfile_helpers.cc:37
+msgid "W64 (64 bit WAV)"
+msgstr "W64 (64 bit WAV)"
+
+#: libs/ardour/sndfile_helpers.cc:38
+msgid "raw (no header)"
+msgstr "raw (sin encabezado)"
+
+#: libs/ardour/sndfile_helpers.cc:43
+msgid ".wav"
+msgstr ".wav"
+
+#: libs/ardour/sndfile_helpers.cc:44
+msgid ".aiff"
+msgstr "-aiff"
+
+#: libs/ardour/sndfile_helpers.cc:45
+msgid ".caf"
+msgstr "-caf"
+
+#: libs/ardour/sndfile_helpers.cc:46
+msgid ".w64"
+msgstr ".w64"
+
+#: libs/ardour/sndfile_helpers.cc:47
+msgid ".raw"
+msgstr ".raw"
+
+#: libs/ardour/sndfile_helpers.cc:60
+msgid "16 bit"
+msgstr "16 bit"
+
+#: libs/ardour/sndfile_helpers.cc:61
+msgid "24 bit"
+msgstr "24 bit"
+
+#: libs/ardour/sndfile_helpers.cc:62
+msgid "32 bit"
+msgstr "32 bit"
+
+#: libs/ardour/sndfile_helpers.cc:63
+msgid "8 bit"
+msgstr "8 bit"
+
+#: libs/ardour/sndfile_helpers.cc:64
+msgid "float"
+msgstr "flotante"
+
+#: libs/ardour/sndfile_helpers.cc:77
+msgid "Little-endian (Intel)"
+msgstr "Little-endian (Intel)"
+
+#: libs/ardour/sndfile_helpers.cc:78
+msgid "Big-endian (Mac)"
+msgstr "Big-endian (Mac)"
+
+#: libs/ardour/sndfilesource.cc:185
+msgid "cannot set broadcast info for audio file %1 (%2); dropping broadcast info for this file"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:238
+msgid "SndFileSource: cannot open file \"%1\" for %2 (%3)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:246
+msgid "SndFileSource: file only contains %1 channels; %2 is invalid as a channel number"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:346
+msgid "SndFileSource: could not seek to frame %1 within %2 (%3)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:356
+msgid "SndFileSource: @ %1 could not read %2 within %3 (%4) (len = %5)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:396
+#: libs/ardour/sndfilesource.cc:431
+msgid "attempt to write a non-writable audio file source (%1)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:401
+#: libs/ardour/utils.cc:523
+#: libs/ardour/utils.cc:547
+#: libs/ardour/utils.cc:561
+#: libs/ardour/utils.cc:580
+msgid "programming error: %1 %2"
+msgstr "error de programación: %1 %2"
+
+#: libs/ardour/sndfilesource.cc:535
+msgid "attempt to flush a non-writable audio file source (%1)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:545
+msgid "attempt to store broadcast info in a non-writable audio file source (%1)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:581
+#: libs/ardour/sndfilesource.cc:602
+msgid "cannot set broadcast info for audio file %1; Dropping broadcast info for this file"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:615
+msgid "%1: cannot seek to %2 (libsndfile error: %3"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:724
+msgid "SndFileSource: \"%1\" bad read retval: %2 of %5 (%3: %4)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:737
+#: libs/ardour/sndfilesource.cc:787
+#: libs/ardour/sndfilesource.cc:794
+msgid "SndFileSource: \"%1\" bad write (%2)"
+msgstr ""
+
+#: libs/ardour/sndfilesource.cc:817
+msgid "Filesource: start time is already set for existing file (%1): Cannot change start time."
+msgstr ""
+
+#: libs/ardour/tempo.cc:71
+msgid "TempoSection XML node has no \"start\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:79
+msgid "TempoSection XML node has an illegal \"start\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:86
+msgid "TempoSection XML node has no \"beats-per-minute\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:91
+msgid "TempoSection XML node has an illegal \"beats_per_minute\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:100
+msgid "TempoSection XML node has an illegal \"note-type\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:106
+msgid "TempoSection XML node has no \"movable\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:147
+msgid "MeterSection XML node has no \"start\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:155
+msgid "MeterSection XML node has an illegal \"start\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:162
+msgid "MeterSection XML node has no \"beats-per-bar\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:167
+msgid "MeterSection XML node has an illegal \"beats-per-bar\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:172
+msgid "MeterSection XML node has no \"note-type\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:177
+msgid "MeterSection XML node has an illegal \"note-type\" value"
+msgstr ""
+
+#: libs/ardour/tempo.cc:182
+msgid "MeterSection XML node has no \"movable\" property"
+msgstr ""
+
+#: libs/ardour/tempo.cc:561
+msgid "no tempo sections defined in tempo map - cannot change tempo @ %1"
+msgstr ""
+
+#: libs/ardour/tempo.cc:585
+#: libs/ardour/tempo.cc:601
+msgid "programming error: no tempo section in tempo map!"
+msgstr ""
+
+#: libs/ardour/tempo.cc:644
+#: libs/ardour/tempo.cc:702
+msgid "programming error: unhandled MetricSection type"
+msgstr ""
+
+#: libs/ardour/tempo.cc:1461
+#: libs/ardour/tempo.cc:1473
+msgid "Tempo map: could not set new state, restoring old one."
+msgstr ""
+
+#: libs/ardour/utils.cc:300
+msgid "illegal or badly-formed string used for path (%1)"
+msgstr ""
+
+#: libs/ardour/utils.cc:305
+msgid "path (%1) is ambiguous"
+msgstr "la ruta (%1) es ambigua"
+
+#: libs/ardour/utils.cc:367
+#: libs/ardour/utils.cc:391
+msgid "Splice Edit"
+msgstr "Reunir"
+
+#: libs/ardour/utils.cc:369
+#: libs/ardour/utils.cc:384
+msgid "Slide Edit"
+msgstr "Deslizar"
+
+#: libs/ardour/utils.cc:371
+#: libs/ardour/utils.cc:387
+msgid "Lock Edit"
+msgstr "Bloquear"
+
+#: libs/ardour/utils.cc:374
+msgid "programming error: unknown edit mode string \"%1\""
+msgstr ""
+
+#: libs/ardour/utils.cc:398
+#: libs/ardour/utils.cc:427
+msgid "Internal"
+msgstr "Interno"
+
+#: libs/ardour/utils.cc:402
+#: libs/ardour/utils.cc:423
+msgid "MTC"
+msgstr "MTC"
+
+#: libs/ardour/utils.cc:406
+#: libs/ardour/utils.cc:420
+msgid "JACK"
+msgstr "JACK"
+
+#: libs/ardour/utils.cc:410
+msgid "programming error: unknown slave source string \"%1\""
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:165
+msgid "cannot create VST chunk directory: %1"
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:173
+msgid "cannot check VST chunk directory: %1"
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:179
+msgid "%1 exists but is not a directory"
+msgstr "%1 existe, pero no es un directorio"
+
+#: libs/ardour/vst_plugin.cc:218
+msgid "Bad node sent to VSTPlugin::set_state"
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:325
+#: libs/ardour/vst_plugin.cc:336
+msgid "no support for presets using chunks at this time"
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:495
+msgid "VST: cannot load module from \"%1\""
+msgstr ""
+
+#: libs/ardour/vst_plugin.cc:500
+msgid "You asked ardour to not use any VST plugins"
+msgstr ""
+
+#: libs/ardour/coreaudiosource.cc:82
+msgid "CoreAudioSource: cannot open file \"%1\" for %2"
+msgstr ""
+
+#: libs/ardour/rb_effect.cc:224
+#: libs/ardour/rb_effect.cc:265
+msgid "tempoize: error reading data from %1 at %2 (wanted %3, got %4)"
+msgstr ""
+
+#: libs/ardour/rb_effect.cc:290
+#: libs/ardour/rb_effect.cc:307
+msgid "error writing tempo-adjusted data to %1"
+msgstr ""
+
+#: libs/ardour/rb_effect.cc:314
+msgid "timefx code failure. please notify ardour-developers."
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:89
+#: libs/ardour/audio_unit.cc:1009
+#, fuzzy
+msgid "Could not create XML version of property list"
+msgstr "%1: no se pudo crear la región para el archivo de audio completo"
+
+#: libs/ardour/audio_unit.cc:107
+#, fuzzy
+msgid "Cannot open preset file %1 (%2)"
+msgstr "No se puede abrir el archivo de automatización de panorámica %1 (%2)."
+
+#: libs/ardour/audio_unit.cc:340
+msgid "Exception thrown during AudioUnit plugin loading - plugin ignored"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:345
+msgid "AudioUnit: Could not convert CAComponent to CAAudioUnit"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:372
+msgid "AUPlugin: cannot set processing block size"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:576
+msgid "AUPlugin: %1 cannot initialize plugin (err = %2)"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:678
+msgid "AU %1 has zero outputs - configuration ignored"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:736
+#: libs/ardour/audio_unit.cc:764
+msgid "AU plugin %1 has illegal IO configuration (-2,-2)"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:841
+msgid "AUPlugin: could not set stream format for %1/%2 (err = %3)"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:860
+msgid "AUPlugin: %1 input_streams() called without any format set!"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:871
+msgid "AUPlugin: %1 output_streams() called without any format set!"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:887
+msgid "AUPlugin: render callback called illegally!"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1029
+msgid "Saving AudioUnit settings is not supported in this build of Ardour. Consider paying for a newer version"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1047
+msgid "Bad node sent to AUPlugin::set_state"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1082
+msgid "Restoring AudioUnit settings is not supported in this build of Ardour. Consider paying for a newer version"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1112
+msgid "Loading AudioUnit presets is not supported in this build of Ardour. Consider paying for a newer version"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1145
+msgid "Cannot create user plugin presets folder (%1)"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1164
+msgid "Saving plugin state to %1 failed"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1173
+msgid "Saving AudioUnit presets is not supported in this build of Ardour. Consider paying for a newer version"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1450
+msgid "Discovering AudioUnit plugins (could take some time ...)"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1631
+msgid "Cannot get I/O configuration info for AU %1"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1670
+msgid "Checking AudioUnit: %1"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1680
+#: libs/ardour/audio_unit.cc:1681
+msgid "Could not load AU plugin %1 - ignored"
+msgstr ""
+
+#: libs/ardour/audio_unit.cc:1751
+msgid "could not save AU cache to %1"
+msgstr ""
+
diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc
index 4b03997..83c835c 100644
--- a/libs/ardour/port.cc
+++ b/libs/ardour/port.cc
@@ -42,8 +42,6 @@ Port::Port (jack_port_t *p)
void
Port::reset ()
{
- reset_buffer ();
-
_last_monitor = false;
_silent = false;
_metering = 0;
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index edfcaa7..4553bf2 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -1152,8 +1152,8 @@ Route::remove_redirect (boost::shared_ptr<Redirect> redirect, void *src, uint32_
}
redirect->drop_references ();
-
redirects_changed (src); /* EMIT SIGNAL */
+
return 0;
}
@@ -1523,7 +1523,8 @@ Route::state(bool full_state)
node->add_property("mute-affects-pre-fader", _mute_affects_pre_fader?"yes":"no");
node->add_property("mute-affects-post-fader", _mute_affects_post_fader?"yes":"no");
node->add_property("mute-affects-control-outs", _mute_affects_control_outs?"yes":"no");
- node->add_property("mute-affects-main-outs", _mute_affects_main_outs?"yes":"no");
+ node->add_property("mute-affects-main-outs", _mute_affects_main_outs?"yes":"no");
+ node->add_property("meter-point", enum_2_string (_meter_point));
if (_edit_group) {
node->add_property("edit-group", _edit_group->name());
@@ -1738,6 +1739,10 @@ Route::_set_state (const XMLNode& node, bool call_base)
_mute_affects_main_outs = (prop->value()=="yes")?true:false;
}
+ if ((prop = node.property (X_("meter-point"))) != 0) {
+ _meter_point = MeterPoint (string_2_enum (prop->value (), _meter_point));
+ }
+
if ((prop = node.property (X_("edit-group"))) != 0) {
RouteGroup* edit_group = _session.edit_group_by_name(prop->value());
if(edit_group == 0) {
@@ -1829,9 +1834,22 @@ Route::_set_state (const XMLNode& node, bool call_base)
string coutname = _name;
coutname += _("[control]");
+ delete _control_outs;
_control_outs = new IO (_session, coutname);
- _control_outs->set_state (**(child->children().begin()));
+ /* fix up the control out name in the XML before setting it.
+ Otherwise track templates don't work because the control
+ outs end up with the stored template name, rather than
+ the new name of the track based on the template.
+ */
+
+ XMLProperty* prop = (*child->children().begin())->property ("name");
+ if (prop) {
+ prop->set_value (coutname);
+ }
+
+ _control_outs->set_state (**(child->children().begin()));
+
} else if (child->name() == X_("Comment")) {
/* XXX this is a terrible API design in libxml++ */
@@ -2659,3 +2677,15 @@ Route::shift (nframes64_t pos, nframes64_t frames)
}
}
}
+
+int
+Route::save_as_template (const string& path, const string& name)
+{
+ XMLNode& node (state (false));
+ XMLTree tree;
+
+ IO::set_name_in_state (*node.children().front(), name);
+
+ tree.set_root (&node);
+ return tree.write (path.c_str());
+}
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 6754a51..ffa8eeb 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -677,8 +677,6 @@ Session::set_worst_io_latencies ()
void
Session::when_engine_running ()
{
- string first_physical_output;
-
/* we don't want to run execute this again */
BootMessage (_("Set block size and sample rate"));
@@ -725,17 +723,21 @@ Session::when_engine_running ()
} else {
- /* default state for Click */
-
- first_physical_output = _engine.get_nth_physical_audio_output (0);
+ /* default state for Click: dual-mono to first 2 physical outputs */
- if (first_physical_output.length()) {
- if (_click_io->add_output_port (first_physical_output, this)) {
- // relax, even though its an error
- } else {
- _clicking = Config->get_clicking ();
+ for (int physport = 0; physport < 2; ++physport) {
+ string physical_output = _engine.get_nth_physical_audio_output (physport);
+
+ if (physical_output.length()) {
+ if (_click_io->add_output_port (physical_output, this)) {
+ // relax, even though its an error
+ }
}
}
+
+ if (_click_io->n_outputs() > 0) {
+ _clicking = Config->get_clicking ();
+ }
}
}
@@ -1871,7 +1873,7 @@ Session::new_audio_track (int input_channels, int output_channels, TrackMode mod
catch (AudioEngine::PortRegistrationFailure& pfe) {
- error << _("No more JACK ports are available. You will need to stop Ardour and restart JACK with ports if you need this many tracks.") << endmsg;
+ error << pfe.what() << endmsg;
if (track) {
/* we need to get rid of this, since the track failed to be created */
@@ -2016,7 +2018,7 @@ Session::new_audio_route (int input_channels, int output_channels, uint32_t how_
}
catch (AudioEngine::PortRegistrationFailure& pfe) {
- error << _("No more JACK ports are available. You will need to stop Ardour and restart JACK with ports if you need this many tracks.") << endmsg;
+ error << pfe.what() << endmsg;
goto failure;
}
@@ -2033,6 +2035,118 @@ Session::new_audio_route (int input_channels, int output_channels, uint32_t how_
}
+Session::RouteList
+Session::new_route_from_template (uint32_t how_many, const std::string& template_path)
+{
+ char name[32];
+ RouteList ret;
+ uint32_t control_id;
+ XMLTree tree;
+
+ if (!tree.read (template_path.c_str())) {
+ return ret;
+ }
+
+ XMLNode* node = tree.root();
+
+ control_id = ntracks() + nbusses() + 1;
+
+ while (how_many) {
+
+ XMLNode node_copy (*node); // make a copy so we can change the name if we need to
+
+ std::string node_name = IO::name_from_state (*node_copy.children().front());
+
+ if (route_by_name (node_name) != 0) {
+
+ /* generate a new name by adding a number to the end of the template name */
+
+ uint32_t number = 1;
+
+ do {
+ snprintf (name, sizeof (name), "%s %" PRIu32, node_name.c_str(), number);
+
+ number++;
+
+ if (route_by_name (name) == 0) {
+ break;
+ }
+
+ } while (number < UINT_MAX);
+
+ if (number == UINT_MAX) {
+ fatal << _("Session: UINT_MAX routes? impossible!") << endmsg;
+ /*NOTREACHED*/
+ }
+
+ IO::set_name_in_state (*node_copy.children().front(), name);
+ }
+
+ Track::zero_diskstream_id_in_xml (node_copy);
+
+ try {
+ shared_ptr<Route> route (XMLRouteFactory (node_copy));
+
+ if (route == 0) {
+ error << _("Session: cannot create track/bus from template description") << endmsg;
+ goto out;
+ }
+
+ if (boost::dynamic_pointer_cast<Track>(route)) {
+ /* force input/output change signals so that the new diskstream
+ picks up the configuration of the route. During session
+ loading this normally happens in a different way.
+ */
+ route->input_changed (IOChange (ConfigurationChanged|ConnectionsChanged), this);
+ route->output_changed (IOChange (ConfigurationChanged|ConnectionsChanged), this);
+ }
+
+ route->set_remote_control_id (control_id);
+ ++control_id;
+
+ ret.push_back (route);
+ }
+
+ catch (failed_constructor &err) {
+ error << _("Session: could not create new route from template") << endmsg;
+ goto out;
+ }
+
+ catch (AudioEngine::PortRegistrationFailure& pfe) {
+ error << pfe.what() << endmsg;
+ goto out;
+ }
+
+ --how_many;
+ }
+
+ out:
+ if (!ret.empty()) {
+ add_routes (ret, true);
+ }
+
+ return ret;
+}
+
+boost::shared_ptr<Route>
+Session::new_video_track (string name)
+{
+ uint32_t control_id = ntracks() + nbusses() + 1;
+ shared_ptr<Route> new_route (
+ new Route ( *this, name, -1, -1, -1, -1, Route::Flag(0), ARDOUR::DataType::NIL));
+ new_route->set_remote_control_id (control_id);
+
+ RouteList rl;
+ rl.push_back (new_route);
+ {
+ RCUWriter<RouteList> writer (routes);
+ shared_ptr<RouteList> r = writer.get_copy ();
+ r->insert (r->end(), rl.begin(), rl.end());
+ resort_routes_using (r);
+ }
+ return new_route;
+}
+
void
Session::add_routes (RouteList& new_routes, bool save)
{
@@ -2226,7 +2340,7 @@ Session::route_solo_changed (void* src, boost::weak_ptr<Route> wpr)
/* don't mess with busses */
- if (dynamic_cast<AudioTrack*>((*i).get()) == 0) {
+ if (boost::dynamic_pointer_cast<AudioTrack>(*i) == 0) {
continue;
}
@@ -2234,7 +2348,7 @@ Session::route_solo_changed (void* src, boost::weak_ptr<Route> wpr)
/* don't mess with tracks */
- if (dynamic_cast<AudioTrack*>((*i).get()) != 0) {
+ if (boost::dynamic_pointer_cast<AudioTrack>(*i) != 0) {
continue;
}
}
@@ -2317,7 +2431,7 @@ Session::update_route_solo_state ()
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
if ((*i)->soloed()) {
mute = true;
- if (dynamic_cast<AudioTrack*>((*i).get())) {
+ if (boost::dynamic_pointer_cast<AudioTrack>(*i)) {
is_track = true;
}
break;
@@ -2362,7 +2476,7 @@ Session::modify_solo_mute (bool is_track, bool mute)
/* only alter track solo mute */
- if (dynamic_cast<AudioTrack*>((*i).get())) {
+ if (boost::dynamic_pointer_cast<AudioTrack>(*i)) {
if ((*i)->soloed()) {
(*i)->set_solo_mute (!mute);
} else {
@@ -2373,8 +2487,8 @@ Session::modify_solo_mute (bool is_track, bool mute)
} else {
/* only alter bus solo mute */
-
- if (!dynamic_cast<AudioTrack*>((*i).get())) {
+
+ if (!boost::dynamic_pointer_cast<AudioTrack>(*i)) {
if ((*i)->soloed()) {
@@ -3488,7 +3602,7 @@ void
Session::set_all_solo (bool yn)
{
shared_ptr<RouteList> r = routes.reader ();
-
+
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
if (!(*i)->hidden()) {
(*i)->set_solo (yn, this);
@@ -3997,7 +4111,7 @@ Session::freeze (InterThreadInfo& itt)
boost::shared_ptr<Region>
Session::write_one_audio_track (AudioTrack& track, nframes_t start, nframes_t end,
- bool overwrite, vector<boost::shared_ptr<AudioSource> >& srcs, InterThreadInfo& itt)
+ bool overwrite, vector<boost::shared_ptr<AudioSource> >& srcs, InterThreadInfo& itt, bool enable_processing)
{
boost::shared_ptr<Region> result;
boost::shared_ptr<Playlist> playlist;
@@ -4021,7 +4135,9 @@ Session::write_one_audio_track (AudioTrack& track, nframes_t start, nframes_t en
// any bigger than this seems to cause stack overflows in called functions
const nframes_t chunk_size = (128 * 1024)/4;
- g_atomic_int_set (&processing_prohibited, 1);
+ // block all process callback handling
+
+ block_processing ();
/* call tree *MUST* hold route_lock */
@@ -4090,7 +4206,7 @@ Session::write_one_audio_track (AudioTrack& track, nframes_t start, nframes_t en
this_chunk = min (to_do, chunk_size);
- if (track.export_stuff (buffers, nchans, start, this_chunk)) {
+ if (track.export_stuff (buffers, nchans, start, this_chunk, enable_processing)) {
goto out;
}
@@ -4156,7 +4272,7 @@ Session::write_one_audio_track (AudioTrack& track, nframes_t start, nframes_t en
free (*i);
}
- g_atomic_int_set (&processing_prohibited, 0);
+ unblock_processing ();
itt.done = true;
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc
index 5891be2..31cf3a9 100644
--- a/libs/ardour/session_process.cc
+++ b/libs/ardour/session_process.cc
@@ -47,15 +47,23 @@ Session::process (nframes_t nframes)
{
_silent = false;
+ if (processing_blocked()) {
+ _silent = true;
+ return;
+ }
+
if (non_realtime_work_pending()) {
if (!transport_work_requested ()) {
post_transport ();
}
}
-
- (this->*process_function) (nframes);
- SendFeedback (); /* EMIT SIGNAL */
+ (this->*process_function) (nframes);
+
+ {
+ Glib::Mutex::Lock lm (midi_lock, Glib::TRY_LOCK);
+ SendFeedback (); /* EMIT SIGNAL */
+ }
}
void
@@ -79,13 +87,6 @@ Session::no_roll (nframes_t nframes, nframes_t offset)
_click_io->silence (nframes, offset);
}
- if (g_atomic_int_get (&processing_prohibited)) {
- for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
- (*i)->silence (nframes, offset);
- }
- return 0;
- }
-
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
if ((*i)->hidden()) {
@@ -381,7 +382,7 @@ Session::process_with_events (nframes_t nframes)
/* if an event left our state changing, do the right thing */
- if (non_realtime_work_pending()) {
+ if (nframes && non_realtime_work_pending()) {
no_roll (nframes, offset);
break;
}
@@ -863,9 +864,7 @@ Session::maybe_sync_start (nframes_t& nframes, nframes_t& offset)
with any fancy stuff here, just the minimal silence.
*/
- g_atomic_int_inc (&processing_prohibited);
- no_roll (nframes, 0);
- g_atomic_int_dec_and_test (&processing_prohibited);
+ _silent = true;
if (Config->get_locate_while_waiting_for_sync()) {
if (micro_locate (nframes)) {
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index c769e57..73d8ba2 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -1359,6 +1359,11 @@ Session::load_routes (const XMLNode& node)
set_dirty();
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
+ if ((*niter)->property ("default-type")->value() == "unknown" ) {
+ std::cout << "ignoring route with type unknown. (video-track)" << std::endl;
+ // Note: this may mess up remote_control IDs or more..
+ continue;
+ }
boost::shared_ptr<Route> route (XMLRouteFactory (**niter));
@@ -2058,6 +2063,12 @@ Session::template_dir ()
}
string
+Session::route_template_dir ()
+{
+ return Glib::build_filename (get_user_ardour_path(), "route_templates");
+}
+
+string
Session::export_dir () const
{
return Glib::build_filename (_path, export_dir_name);
@@ -2103,6 +2114,13 @@ Session::template_path ()
return suffixed_search_path (X_("templates"), true);
}
+
+string
+Session::route_template_path ()
+{
+ return suffixed_search_path (X_("route_templates"), true);
+}
+
string
Session::control_protocol_path ()
{
@@ -2471,6 +2489,43 @@ Session::get_template_list (list<string> &template_names)
}
}
+void
+Session::get_route_templates (vector<RouteTemplateInfo>& template_names)
+{
+ vector<string *> *templates;
+ PathScanner scanner;
+ string path;
+
+ path = route_template_path ();
+
+ templates = scanner (path, template_filter, 0, false, true);
+
+ if (!templates) {
+ return;
+ }
+
+ for (vector<string*>::iterator i = templates->begin(); i != templates->end(); ++i) {
+ string fullpath = *(*i);
+
+ XMLTree tree;
+
+ if (!tree.read (fullpath.c_str())) {
+ continue;
+ }
+
+ XMLNode* root = tree.root();
+
+ RouteTemplateInfo rti;
+
+ rti.name = IO::name_from_state (*root->children().front());
+ rti.path = fullpath;
+
+ template_names.push_back (rti);
+ }
+
+ free (templates);
+}
+
int
Session::read_favorite_dirs (FavoriteDirs & favs)
{
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 0249350..2801892 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1999-2003 Paul Davis
+ Copyright (C) 1999-2009 Paul Davis
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
diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc
index 16233fe..b70b75a 100644
--- a/libs/ardour/session_vst.cc
+++ b/libs/ardour/session_vst.cc
@@ -21,17 +21,19 @@
#include <cstdio>
#include <fst.h>
-#include <vst/aeffectx.h>
+#include <fst/vestige/aeffectx.h>
#include <ardour/session.h>
+#include <ardour/tempo.h>
#include <ardour/vst_plugin.h>
#include "i18n.h"
-// #define DEBUG_CALLBACKS
+#define DEBUG_CALLBACKS
+static int debug_callbacks = -1;
#ifdef DEBUG_CALLBACKS
-#define SHOW_CALLBACK printf
+#define SHOW_CALLBACK if (debug_callbacks) printf
#else
#define SHOW_CALLBACK(...)
#endif
@@ -49,14 +51,18 @@ long Session::vst_callback (AEffect* effect,
VSTPlugin* plug;
Session* session;
- SHOW_CALLBACK ("am callback, opcode = %d", opcode);
+ if (debug_callbacks < 0) {
+ debug_callbacks = (getenv ("ARDOUR_DEBUG_VST_CALLBACKS") != 0);
+ }
if (effect && effect->user) {
- plug = static_cast<VSTPlugin*> (effect->user);
+ plug = (VSTPlugin*) (effect->user);
session = &plug->session();
+ SHOW_CALLBACK ("am callback 0x%x, opcode = %ld, plugin = \"%s\" ", pthread_self(), opcode, plug->name());
} else {
plug = 0;
session = 0;
+ SHOW_CALLBACK ("am callback 0x%x, opcode = %ld", pthread_self(), opcode);
}
switch(opcode){
@@ -113,7 +119,25 @@ long Session::vst_callback (AEffect* effect,
if (session) {
_timeInfo.samplePos = session->transport_frame();
_timeInfo.sampleRate = session->frame_rate();
+ _timeInfo.flags = 0;
+
+ if (value & (kVstTempoValid)) {
+ const Tempo& t (session->tempo_map().tempo_at (session->transport_frame()));
+ _timeInfo.tempo = t.beats_per_minute ();
+ _timeInfo.flags |= (kVstTempoValid);
+ }
+ if (value & (kVstBarsValid)) {
+ const Meter& m (session->tempo_map().meter_at (session->transport_frame()));
+ _timeInfo.timeSigNumerator = m.beats_per_bar ();
+ _timeInfo.timeSigDenominator = m.note_divisor ();
+ _timeInfo.flags |= (kVstBarsValid);
+ }
+
+ if (session->transport_speed() != 0.0f) {
+ _timeInfo.flags |= kVstTransportPlaying;
+ }
}
+
return (long)&_timeInfo;
case audioMasterProcessEvents:
@@ -128,7 +152,13 @@ long Session::vst_callback (AEffect* effect,
case audioMasterTempoAt:
SHOW_CALLBACK ("amc: audioMasterTempoAt\n");
// returns tempo (in bpm * 10000) at sample frame location passed in <value>
- return 0;
+ if (session) {
+ const Tempo& t (session->tempo_map().tempo_at (value));
+ return t.beats_per_minute() * 1000;
+ } else {
+ return 0;
+ }
+ break;
case audioMasterGetNumAutomatableParameters:
SHOW_CALLBACK ("amc: audioMasterGetNumAutomatableParameters\n");
@@ -148,7 +178,10 @@ long Session::vst_callback (AEffect* effect,
case audioMasterNeedIdle:
SHOW_CALLBACK ("amc: audioMasterNeedIdle\n");
- // plug needs idle calls (outside its editor window)
+ // plug needs idle calls (outside its editor window)
+ if (plug) {
+ plug->fst()->wantIdle = 1;
+ }
return 0;
case audioMasterSizeWindow:
@@ -158,10 +191,16 @@ long Session::vst_callback (AEffect* effect,
case audioMasterGetSampleRate:
SHOW_CALLBACK ("amc: audioMasterGetSampleRate\n");
+ if (session) {
+ return session->frame_rate();
+ }
return 0;
case audioMasterGetBlockSize:
SHOW_CALLBACK ("amc: audioMasterGetBlockSize\n");
+ if (session) {
+ return session->get_block_size();
+ }
return 0;
case audioMasterGetInputLatency:
@@ -306,7 +345,7 @@ long Session::vst_callback (AEffect* effect,
return 0;
default:
- SHOW_CALLBACK ("VST master dispatcher: undefed: %d, %d\n", opcode, effKeysRequired);
+ SHOW_CALLBACK ("VST master dispatcher: undefed: %d\n", opcode);
break;
}
diff --git a/libs/ardour/svn_revision.cc b/libs/ardour/svn_revision.cc
index 5094e6c..e8cbf4d 100644
--- a/libs/ardour/svn_revision.cc
+++ b/libs/ardour/svn_revision.cc
@@ -1,4 +1,4 @@
#include <ardour/svn_revision.h>
namespace ARDOUR {
-extern const char* svn_revision = "4296";
+extern const char* svn_revision = "4918";
}
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index 6615a3d..91bc623 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -220,3 +220,10 @@ Track::set_latency_delay (nframes_t longest_session_latency)
_diskstream->set_roll_delay (_roll_delay);
}
+void
+Track::zero_diskstream_id_in_xml (XMLNode& node)
+{
+ if (node.property ("diskstream-id")) {
+ node.add_property ("diskstream-id", "0");
+ }
+}
diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc
index c30af3b..2bcc354 100644
--- a/libs/ardour/vst_plugin.cc
+++ b/libs/ardour/vst_plugin.cc
@@ -1,19 +1,19 @@
/*
- Copyright (C) 2004 Paul Davis
+ Copyright (C) 2004 Paul Davis
- 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+ 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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
- This program 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.
+ This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
@@ -41,8 +41,6 @@
#include <pbd/pathscanner.h>
#include <pbd/xml++.h>
-#include <vst/aeffectx.h>
-
#include <ardour/ardour.h>
#include <ardour/session.h>
#include <ardour/audioengine.h>
@@ -72,13 +70,16 @@ VSTPlugin::VSTPlugin (AudioEngine& e, Session& session, FSTHandle* h)
/* set rate and blocksize */
+ //cerr << "Dispatch " << "effSetSampleRate" << " for " << name() << endl;
_plugin->dispatcher (_plugin, effSetSampleRate, 0, 0, NULL,
(float) session.frame_rate());
+ //cerr << "Dispatch " << "effSetBlockSize" << " for " << name() << endl;
_plugin->dispatcher (_plugin, effSetBlockSize, 0,
session.get_block_size(), NULL, 0.0f);
/* set program to zero */
+ //cerr << "Dispatch " << "effSetProgram" << " for " << name() << endl;
_plugin->dispatcher (_plugin, effSetProgram, 0, 0, NULL, 0.0f);
Plugin::setup_controls ();
@@ -108,6 +109,7 @@ void
VSTPlugin::set_block_size (nframes_t nframes)
{
deactivate ();
+ //cerr << "Dispatch effSetBlockSize for " << name() << endl;
_plugin->dispatcher (_plugin, effSetBlockSize, 0, nframes, NULL, 0.0f);
activate ();
}
@@ -121,13 +123,17 @@ VSTPlugin::default_value (uint32_t port)
void
VSTPlugin::set_parameter (uint32_t which, float val)
{
+ // cerr << "1SetParameter for " << name() << endl;
_plugin->setParameter (_plugin, which, val);
+ // cerr << "signal param change\n";
ParameterChanged (which, val); /* EMIT SIGNAL */
+ // cerr << "change done\n";
}
float
VSTPlugin::get_parameter (uint32_t which) const
{
+ // cerr << "GetParameter for " << name() << endl;
return _plugin->getParameter (_plugin, which);
}
@@ -145,53 +151,32 @@ VSTPlugin::get_state()
XMLNode *root = new XMLNode (state_node_name());
LocaleGuard lg (X_("POSIX"));
- if (_plugin->flags & effFlagsProgramChunks) {
+ if (_fst->current_program != -1) {
+ char buf[32];
+ snprintf (buf, sizeof (buf), "%d", _fst->current_program);
+ root->add_property ("current-program", buf);
+ }
+
+ if (_plugin->flags & 32 /* effFlagsProgramChunks */) {
/* fetch the current chunk */
- void* data;
+ guchar* data;
long data_size;
- if ((data_size = _plugin->dispatcher (_plugin, effGetChunk, 0, 0, &data, false)) == 0) {
+ //cerr << "Dispatch getChunk for " << name() << endl;
+ if ((data_size = _plugin->dispatcher (_plugin, 23 /* effGetChunk */, 0, 0, &data, false)) == 0) {
return *root;
}
- /* save it to a file */
-
- Glib::ustring path = Glib::build_filename (get_user_ardour_path (), "vst");
- struct stat sbuf;
-
- if (stat (path.c_str(), &sbuf)) {
- if (errno == ENOENT) {
- if (g_mkdir_with_parents (path.c_str(), 0600)) {
- error << string_compose (_("cannot create VST chunk directory: %1"),
- strerror (errno))
- << endmsg;
- return *root;
- }
-
- } else {
-
- warning << string_compose (_("cannot check VST chunk directory: %1"), strerror (errno))
- << endmsg;
- return *root;
- }
-
- } else if (!S_ISDIR (sbuf.st_mode)) {
- error << string_compose (_("%1 exists but is not a directory"), path)
- << endmsg;
- return *root;
- }
-
- path = Glib::build_filename (path, "something");
-
/* store information */
XMLNode* chunk_node = new XMLNode (X_("chunk"));
- chunk_node->add_property ("path", path);
-
+ gchar * encoded_data = g_base64_encode (data, data_size);
+ chunk_node->add_content (encoded_data);
+ g_free (encoded_data);
+
root->add_child_nocopy (*chunk_node);
-
} else {
XMLNode* parameters = new XMLNode ("parameters");
@@ -205,6 +190,7 @@ VSTPlugin::get_state()
}
root->add_child_nocopy (*parameters);
+
}
return *root;
@@ -214,17 +200,35 @@ int
VSTPlugin::set_state(const XMLNode& node)
{
LocaleGuard lg (X_("POSIX"));
-
+ const XMLProperty* prop;
+
if (node.name() != state_node_name()) {
error << _("Bad node sent to VSTPlugin::set_state") << endmsg;
return 0;
}
+ if ((prop = node.property ("current-program")) != 0) {
+ _fst->current_program = atoi (prop->value());
+ }
+
XMLNode* child;
+ int ret = -1;
- if ((child = find_named_node (node, X_("chunks"))) != 0) {
+ if ((child = find_named_node (node, X_("chunk"))) != 0) {
- return 0;
+ XMLPropertyList::const_iterator i;
+ XMLNodeList::const_iterator n;
+ int ret = -1;
+
+ for (n = child->children ().begin (); n != child->children ().end (); ++n) {
+ if ((*n)->is_content ()) {
+ gsize chunk_size = 0;
+ guchar * data = g_base64_decode ((*n)->content ().c_str (), &chunk_size);
+ //cerr << "Dispatch setChunk for " << name() << endl;
+ ret = _plugin->dispatcher (_plugin, 24 /* effSetChunk */, 0, chunk_size, data, 0);
+ g_free (data);
+ }
+ }
} else if ((child = find_named_node (node, X_("parameters"))) != 0) {
@@ -237,27 +241,34 @@ VSTPlugin::set_state(const XMLNode& node)
sscanf ((*i)->name().c_str(), "param_%ld", ¶m);
sscanf ((*i)->value().c_str(), "%f", &val);
+ // cerr << "2setParameter for " << name() << endl;
_plugin->setParameter (_plugin, param, val);
}
- return 0;
+ /* program number is not knowable */
+
+ _fst->current_program = -1;
+
+ ret = 0;
}
- return -1;
+
+
+ return ret;
}
int
VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) const
{
VstParameterProperties prop;
-
+
desc.min_unbound = false;
desc.max_unbound = false;
+ prop.flags = 0;
+ //cerr << "Dispatch getParameterProperties for " << name() << endl;
if (_plugin->dispatcher (_plugin, effGetParameterProperties, which, 0, &prop, 0)) {
- /* i have yet to find or hear of a VST plugin that uses this */
-
if (prop.flags & kVstParameterUsesIntegerMinMax) {
desc.lower = prop.minInteger;
desc.upper = prop.maxInteger;
@@ -288,6 +299,7 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
}
desc.toggled = prop.flags & kVstParameterIsSwitch;
+ // cerr << "parameter " << which << " toggled = " << desc.toggled << " from " << std::hex << prop.flags << " vs. " << kVstParameterIsSwitch << std::dec << endl;
desc.logarithmic = false;
desc.sr_dependent = false;
desc.label = prop.label;
@@ -299,6 +311,7 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
char label[64];
label[0] = '\0';
+ // cerr << "Dispatch paramName for " << name() << endl;
_plugin->dispatcher (_plugin, effGetParamName, which, 0, label, 0);
desc.label = label;
@@ -319,7 +332,8 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
bool
VSTPlugin::load_preset (string name)
{
- if (_plugin->flags & effFlagsProgramChunks) {
+
+ if (_plugin->flags & 32 /* effFlagsProgramChunks */) {
error << _("no support for presets using chunks at this time")
<< endmsg;
return false;
@@ -330,11 +344,12 @@ VSTPlugin::load_preset (string name)
bool
VSTPlugin::save_preset (string name)
{
- if (_plugin->flags & effFlagsProgramChunks) {
+ if (_plugin->flags & 32 /* effFlagsProgramChunks */) {
error << _("no support for presets using chunks at this time")
<< endmsg;
return false;
}
+
return Plugin::save_preset (name, "vst");
}
@@ -342,6 +357,7 @@ string
VSTPlugin::describe_parameter (uint32_t param)
{
char name[64];
+ // cerr << "Dispatch effGetParamName for " << this->name() << endl;
_plugin->dispatcher (_plugin, effGetParamName, param, 0, name, 0);
return name;
}
@@ -349,7 +365,11 @@ VSTPlugin::describe_parameter (uint32_t param)
nframes_t
VSTPlugin::latency () const
{
- return _plugin->initialDelay;
+#ifdef VESTIGE_HEADER
+ return *((nframes_t *) (((char *) &_plugin->flags) + 12)); /* initialDelay */
+#else
+ return 0;
+#endif
}
set<uint32_t>
@@ -371,6 +391,11 @@ VSTPlugin::connect_and_run (vector<Sample*>& bufs, uint32_t maxbuf, int32_t& in_
float *outs[_plugin->numOutputs];
int32_t i;
+ if (nframes == 0) {
+ warning << _("VST plugin called with zero frames - please notify Ardour developers") << endmsg;
+ return 0;
+ }
+
for (i = 0; i < (int32_t) _plugin->numInputs; ++i) {
ins[i] = bufs[min((uint32_t) in_index,maxbuf - 1)] + offset;
in_index++;
@@ -388,23 +413,25 @@ VSTPlugin::connect_and_run (vector<Sample*>& bufs, uint32_t maxbuf, int32_t& in_
out_index++;
}
-
/* we already know it can support processReplacing */
+ // cerr << "!ProcessReplacing for " << name() << endl;
_plugin->processReplacing (_plugin, ins, outs, nframes);
-
+
return 0;
}
void
VSTPlugin::deactivate ()
{
+ //cerr << "Dispatch effMainsChanged for " << name() << endl;
_plugin->dispatcher (_plugin, effMainsChanged, 0, 0, NULL, 0.0f);
}
void
VSTPlugin::activate ()
{
+ //cerr << "Dispatch effMainsChanged for " << name() << endl;
_plugin->dispatcher (_plugin, effMainsChanged, 0, 1, NULL, 0.0f);
}
@@ -412,7 +439,11 @@ string
VSTPlugin::unique_id() const
{
char buf[32];
+#ifdef VESTIGE_HEADER
+ snprintf (buf, sizeof (buf), "%d", *((int32_t*) &_plugin->unused_id));
+#else
snprintf (buf, sizeof (buf), "%d", _plugin->uniqueID);
+#endif
return string (buf);
}
@@ -450,11 +481,10 @@ VSTPlugin::has_editor () const
void
VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
{
- char lab[9];
char *first_nonws;
- _plugin->dispatcher (_plugin, effGetParamLabel, param, 0, lab, 0);
- _plugin->dispatcher (_plugin, effGetParamDisplay, param, 0, buf, 0);
+ //cerr << "Dispatch getParamDisplay for " << name() << endl;
+ _plugin->dispatcher (_plugin, 7 /* effGetParamDisplay */, param, 0, buf, 0);
if (buf[0] == '\0') {
return;
diff --git a/libs/fst/SConscript b/libs/fst/SConscript
index 576283d..a543d72 100644
--- a/libs/fst/SConscript
+++ b/libs/fst/SConscript
@@ -7,50 +7,64 @@ import glob
fst_src = glob.glob('*.c')
-Import('env install_prefix')
-fst = env.Clone(CC="winegcc")
+Import('env install_prefix libraries')
+fst = env.Clone()
fst.Append (CPPPATH=".")
-
-if fst['VST']:
- vst_dir = Dir ('libs/vst')
- vst_sdk_dir = Dir ('vstsdk2.3')
- #
- # if it exists, try to use the Steinberg zip package
- #
- vst_sdk_zip = File ('vstsdk2.3.zip')
-
- if os.access (vst_sdk_zip.abspath, os.F_OK):
- print 'VST package discovered.'
- elif os.access ('vst_sdk2_3.zip', os.F_OK):
- #
- # add a build target that unpacks the zip package the Steinberg "meta" zip package
- #
- vst_meta_zip = fst.Command (vst_sdk_zip, 'vst_sdk2_3.zip', "unzip -o -d ${TARGET.dir} $SOURCES vstsdk2.3.zip" )
- print 'VST meta-package discovered.'
- else:
- if os.access ('vstsdk2.3.zip', os.F_OK) != 1:
- print 'Did not find vst_sdk2_3.zip or vstsdk2.3.zip in libs/fst.'
- print 'Make sure the correct file is in the correct location and correctly named.'
- print 'Please see http://ardour.org/building_vst_support for more information.'
- sys.exit (1)
-
- vst_headers = fst.Command ([ 'vst/aeffectx.h', 'vst/AEffect.h' ], vst_sdk_zip, [
- "unzip -qq -d ${SOURCE.dir} -o $SOURCE",
- Delete ('$TARGET.dir'),
- Copy ('${TARGET.dir}', 'libs/fst/vstsdk2.3/source/common'),
- "sed -i '/struct VstFileType\|struct VstFileSelect/,/};/d' $TARGET"
+fst.Merge ([
+ libraries['jack'],
+ libraries['glib2']
])
+#
+# See if JACK supports jack_set_thread_creator()
+#
+
+jack_test_source_file = """
+#include <jack/jack.h>
+#include <pthread.h>
+int
+my_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg)
+{
+ return 0;
+}
+int main(int argc, char **argv)
+{
+ jack_set_thread_creator (my_pthread_create);
+ return 0;
+}
+"""
+def CheckJackSetThreadCreator(context):
+ context.Message('Checking for jack_set_thread_creator()...')
+ result = context.TryLink(jack_test_source_file, '.c')
+ context.Result(result)
+ return result
+
+
+conf = Configure(fst, custom_tests = {
+ 'CheckJackSetThreadCreator' : CheckJackSetThreadCreator,
+})
+
+if conf.CheckJackSetThreadCreator():
+ fst.Append(CCFLAGS="-DHAVE_JACK_SET_THREAD_CREATOR")
+
+fst = conf.Finish ()
+
+if fst['VST']:
+ fst.Replace(CC = ("winegcc"))
a = fst.Object ('fst', 'fst.c')
b = fst.Object ('fstinfofile', 'fstinfofile.c')
c = fst.Object ('vstwin', 'vstwin.c')
d = fst.Object ('vsti', 'vsti.c')
-
- Default([vst_headers,a,b,c,d])
+ e = fst.Object ('thread', 'thread.c')
+ Default([a,b,c,d,e])
+vestige_headers = glob.glob ('vestige/*.h')
+
env.Alias('tarball', env.Distribute (env['DISTTREE'],
- fst_src + ['SConscript',
- 'fst.h',
- 'jackvst.h'
- ] ))
+ fst_src + vestige_headers +
+ ['SConscript',
+ 'fst.h',
+ 'jackvst.h',
+ ]
+ ))
diff --git a/libs/fst/fst.c b/libs/fst/fst.c
index 8547357..cbee5de 100644
--- a/libs/fst/fst.c
+++ b/libs/fst/fst.c
@@ -3,15 +3,6 @@
#include "fst.h"
-
-void
-default_fst_error_callback (const char *desc)
-{
- fprintf(stderr, "%s\n", desc);
-}
-
-void (*fst_error_callback)(const char *desc) = &default_fst_error_callback;
-
void
fst_error (const char *fmt, ...)
{
@@ -24,4 +15,10 @@ fst_error (const char *fmt, ...)
va_end (ap);
}
+void
+default_fst_error_callback (const char *desc)
+{
+ fprintf(stderr, "%s\n", desc);
+}
+void (*fst_error_callback)(const char *desc) = &default_fst_error_callback;
diff --git a/libs/fst/fst.h b/libs/fst/fst.h
index 493cb2e..6ef5acf 100644
--- a/libs/fst/fst.h
+++ b/libs/fst/fst.h
@@ -8,22 +8,28 @@
/**
* Display FST error message.
*
- * @param fmt printf-style formatting specification
+ * Set via fst_set_error_function(), otherwise a FST-provided
+ * default will print @a msg (plus a newline) to stderr.
+ *
+ * @param msg error message text (no newline at end).
*/
-extern void fst_error (const char *fmt, ...);
+extern void (*fst_error_callback)(const char *msg);
/**
* Set the @ref fst_error_callback for error message display.
*
* The FST library provides two built-in callbacks for this purpose:
- * default_fst_error_callback().
- *
- * The default will print the message (plus a newline) to stderr.
- *
+ * default_fst_error_callback() and silent_fst_error_callback().
*/
void fst_set_error_function (void (*func)(const char *));
-#include <vst/AEffect.h>
+void fst_error (const char *fmt, ...);
+
+#define VESTIGE_HEADER
+
+#ifdef VESTIGE_HEADER
+#include <vestige/aeffectx.h>
+#endif
typedef struct _FST FST;
typedef struct _FSTHandle FSTHandle;
@@ -32,6 +38,7 @@ typedef struct _FSTInfo FSTInfo;
struct _FSTInfo
{
char *name;
+ char *creator;
int UniqueID;
char *Category;
@@ -50,30 +57,48 @@ struct _FSTInfo
char **ParamLabels;
};
+typedef struct AEffect * (*main_entry_t)(audioMasterCallback);
+
struct _FSTHandle
{
void* dll;
char* name;
char* nameptr; /* ptr returned from strdup() etc. */
- AEffect* (*main_entry)(audioMasterCallback);
+ //struct AEffect* (*main_entry)(audioMasterCallback);
+ main_entry_t main_entry;
int plugincnt;
};
struct _FST
{
- AEffect* plugin;
+ struct AEffect* plugin;
void* window; /* win32 HWND */
int xid; /* X11 XWindow */
FSTHandle* handle;
int width;
int height;
+ int wantIdle;
int destroy;
+ int vst_version;
- struct _FST* next;
+ int want_program;
+ int current_program;
+ float *want_params;
+ float *set_params;
+ int dispatcher_wantcall;
+ int dispatcher_opcode;
+ int dispatcher_index;
+ int dispatcher_val;
+ void * dispatcher_ptr;
+ float dispatcher_opt;
+ int dispatcher_retval;
+
+ struct _FST* next;
pthread_mutex_t lock;
pthread_cond_t window_status_change;
+ pthread_cond_t plugin_dispatcher_called;
int been_activated;
};
@@ -81,8 +106,8 @@ struct _FST
extern "C" {
#endif
-extern int fst_init ();
-extern void fst_finish ();
+extern int fst_init (void* possible_hmodule);
+extern void fst_exit ();
extern FSTHandle* fst_load (const char*);
extern int fst_unload (FSTHandle*);
@@ -90,17 +115,29 @@ extern int fst_unload (FSTHandle*);
extern FST* fst_instantiate (FSTHandle*, audioMasterCallback amc, void* userptr);
extern void fst_close (FST*);
-extern void fst_event_loop_remove_plugin (FST* fst);
-extern void fst_event_loop_add_plugin (FST* fst);
-
+extern int fst_create_editor (FST* fst);
extern int fst_run_editor (FST*);
extern void fst_destroy_editor (FST*);
extern int fst_get_XID (FST*);
+extern void fst_move_window_into_view (FST*);
+
+extern FSTInfo *fst_get_info (char *dllpathname);
+extern void fst_free_info (FSTInfo *info);
+extern void fst_event_loop_remove_plugin (FST* fst);
+extern int fst_call_dispatcher(FST *fst, int opcode, int index, int val, void *ptr, float opt );
+
+/**
+ * Load a plugin state from a file.
+ */
+extern int fst_load_state (FST * fst, char * filename);
+
+/**
+ * Save a plugin state to a file.
+ */
+extern int fst_save_state (FST * fst, char * filename);
-extern void fst_signal_handler (int sig, siginfo_t* info, void* context);
+extern int wine_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg);
-extern FSTInfo *fst_get_info( char *dllpathname );
-extern void fst_free_info( FSTInfo *info );
#ifdef __cplusplus
}
diff --git a/libs/fst/fstinfofile.c b/libs/fst/fstinfofile.c
index 7b0c69d..2d7fb2f 100644
--- a/libs/fst/fstinfofile.c
+++ b/libs/fst/fstinfofile.c
@@ -1,15 +1,13 @@
-
#include "fst.h"
-#include "vst/aeffectx.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
-#include <stdlib.h>
#define MAX_STRING_LEN 256
@@ -49,6 +47,7 @@ static FSTInfo *load_fst_info_file( char *filename ) {
}
if( (info->name = read_string( fp )) == NULL ) goto error;
+ if( (info->creator = read_string( fp )) == NULL ) goto error;
if( 1 != fscanf( fp, "%d\n", &info->UniqueID ) ) goto error;
if( (info->Category = read_string( fp )) == NULL ) goto error;
if( 1 != fscanf( fp, "%d\n", &info->numInputs ) ) goto error;
@@ -96,6 +95,7 @@ static int save_fst_info_file( FSTInfo *info, char *filename ) {
}
fprintf( fp, "%s\n", info->name );
+ fprintf( fp, "%s\n", info->creator );
fprintf( fp, "%d\n", info->UniqueID );
fprintf( fp, "%s\n", info->Category );
fprintf( fp, "%d\n", info->numInputs );
@@ -123,7 +123,7 @@ static char *fst_dllpath_to_infopath( char *dllpath ) {
if( strstr( dllpath, ".dll" ) == NULL ) return NULL;
retval = strdup( dllpath );
- sprintf( retval + strlen(retval) - 4, ".fst" );
+ sprintf( retval + strlen(retval) - 4, ".fsi" );
return retval;
}
@@ -144,7 +144,7 @@ static int fst_info_file_is_valid( char *dllpath ) {
}
static int fst_can_midi( FST *fst ) {
- AEffect *plugin = fst->plugin;
+ struct AEffect *plugin = fst->plugin;
int vst_version = plugin->dispatcher (plugin, effGetVstVersion, 0, 0, NULL, 0.0f);
if (vst_version >= 2) {
@@ -160,8 +160,9 @@ static int fst_can_midi( FST *fst ) {
}
static FSTInfo *fst_info_from_plugin( FST *fst ) {
FSTInfo *info = (FSTInfo *) malloc( sizeof( FSTInfo ) );
- AEffect *plugin;
+ struct AEffect *plugin;
int i;
+ char creator[65];
if( ! fst ) {
fst_error( "fst is NULL\n" );
@@ -174,7 +175,19 @@ static FSTInfo *fst_info_from_plugin( FST *fst ) {
info->name = strdup(fst->handle->name );
+ plugin->dispatcher (plugin, 47 /* effGetVendorString */, 0, 0, creator, 0);
+ if (strlen (creator) == 0) {
+ info->creator = strdup ("Unknown");
+ } else {
+ info->creator = strdup (creator);
+ }
+
+#ifdef VESTIGE_HEADER
+ info->UniqueID = *((int32_t *) &plugin->unused_id);
+#else
info->UniqueID = plugin->uniqueID;
+#endif
+
info->Category = strdup( "None" ); // FIXME:
info->numInputs = plugin->numInputs;
info->numOutputs = plugin->numOutputs;
@@ -188,22 +201,20 @@ static FSTInfo *fst_info_from_plugin( FST *fst ) {
for( i=0; i<info->numParams; i++ ) {
char name[20];
char label[9];
- plugin->dispatcher (plugin,
- effGetParamName,
- i, 0, name, 0);
-
- plugin->dispatcher (plugin,
- effGetParamLabel,
- i, 0, label, 0);
-
+ plugin->dispatcher (plugin,
+ effGetParamName,
+ i, 0, name, 0);
info->ParamNames[i] = strdup( name );
+ plugin->dispatcher (plugin,
+ 6 /* effGetParamLabel */,
+ i, 0, label, 0);
info->ParamLabels[i] = strdup( label );
}
return info;
}
// most simple one :) could be sufficient....
-static long simple_master_callback( AEffect *fx, long opcode, long index, long value, void *ptr, float opt ) {
+static long simple_master_callback( struct AEffect *fx, long opcode, long index, long value, void *ptr, float opt ) {
if( opcode == audioMasterVersion )
return 2;
else
@@ -227,9 +238,7 @@ FSTInfo *fst_get_info( char *dllpath ) {
FSTInfo *info;
char *fstpath;
- if( !(h = fst_load( dllpath )) ) {
- return NULL;
- }
+ if( !(h = fst_load( dllpath )) ) return NULL;
if( !(fst = fst_instantiate( h, simple_master_callback, NULL )) ) {
fst_unload( h );
fst_error( "instantiate failed\n" );
@@ -261,6 +270,7 @@ void fst_free_info( FSTInfo *info ) {
free( info->ParamLabels[i] );
}
free( info->name );
+ free( info->creator );
free( info->Category );
free( info );
}
diff --git a/libs/fst/jackvst.h b/libs/fst/jackvst.h
index abb9e22..31e34f5 100644
--- a/libs/fst/jackvst.h
+++ b/libs/fst/jackvst.h
@@ -1,8 +1,8 @@
#ifndef __jack_vst_h__
#define __jack_vst_h__
-#include </usr/include/sys/types.h>
-#include </usr/include/sys/time.h>
+#include <sys/types.h>
+#include <sys/time.h>
#include <jack/jack.h>
#include <jack/ringbuffer.h>
#include <fst.h>
@@ -16,15 +16,24 @@ struct _JackVST {
FST* fst;
float **ins;
float **outs;
+ jack_port_t *midi_port;
jack_port_t **inports;
jack_port_t **outports;
void* userdata;
int bypassed;
int muted;
+ int current_program;
+
+ int midi_map[128];
+ volatile int midi_learn;
+ volatile int midi_learn_CC;
+ volatile int midi_learn_PARAM;
int resume_called;
+
/* For VST/i support */
+ int want_midi;
pthread_t midi_thread;
snd_seq_t* seq;
int midiquit;
@@ -32,4 +41,6 @@ struct _JackVST {
struct VstEvents* events;
};
+#define MIDI_EVENT_MAX 1024
+
#endif /* __jack_vst_h__ */
diff --git a/libs/fst/thread.c b/libs/fst/thread.c
new file mode 100644
index 0000000..22a278e
--- /dev/null
+++ b/libs/fst/thread.c
@@ -0,0 +1,82 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include <pthread.h>
+#include <windows.h>
+
+typedef struct {
+ void* (*thread_function)(void*);
+ void* thread_arg;
+ pthread_t thread_id;
+ pthread_mutex_t init_lock;
+ pthread_cond_t init_cond;
+ pthread_attr_t attr;
+} real_thread_info_t;
+
+static DWORD WINAPI
+fake_thread_proxy (LPVOID parameter)
+{
+ DWORD retval;
+ real_thread_info_t* rti = (real_thread_info_t*) parameter;
+
+ pthread_mutex_lock (&rti->init_lock);
+ rti->thread_id = pthread_self();
+ pthread_cond_signal (&rti->init_cond);
+ pthread_mutex_unlock (&rti->init_lock);
+
+#if 0
+ if (pthread_attr_get_schedparam (&rti->attr)) {
+ pthread_set_schedparam (pthread_self(), policy, sched_param);
+ }
+#endif
+ /* XXX no way to use pthread API to set contention scope,
+ because that has to be done before a thread is created.
+ But ... its only meaningful for an M:N thread implemenation
+ so its not important for the only platform where
+ this code matters (Linux running Wine) because Linux
+ uses a 1:1 thread design.
+ */
+
+ retval = (DWORD) rti->thread_function (rti->thread_arg);
+ free (rti);
+
+ return retval;
+}
+
+int
+wine_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg)
+{
+ DWORD tid;
+ size_t stack_size;
+
+ real_thread_info_t* rti = (real_thread_info_t*) malloc (sizeof (real_thread_info_t));
+
+ rti->thread_function = function;
+ rti->thread_arg = arg;
+ if (attr) {
+ rti->attr = *attr;
+ }
+
+ pthread_mutex_init (&rti->init_lock, NULL);
+ pthread_cond_init (&rti->init_cond, NULL);
+
+ pthread_mutex_lock (&rti->init_lock);
+
+ if (attr) {
+ if (pthread_attr_getstacksize (attr, &stack_size) != 0) {
+ stack_size = 0;
+ }
+ } else {
+ stack_size = 0;
+ }
+
+ if (CreateThread (0, stack_size, fake_thread_proxy, rti, 0, &tid) == NULL) {
+ return -1;
+ }
+
+ pthread_cond_wait (&rti->init_cond, &rti->init_lock);
+ pthread_mutex_unlock (&rti->init_lock);
+
+ *thread_id = rti->thread_id;
+
+ return 0;
+}
diff --git a/libs/fst/vestige/aeffectx.h b/libs/fst/vestige/aeffectx.h
new file mode 100644
index 0000000..dda128f
--- /dev/null
+++ b/libs/fst/vestige/aeffectx.h
@@ -0,0 +1,316 @@
+/*
+ * aeffectx.h - simple header to allow VeSTige compilation and eventually work
+ *
+ * Copyright (c) 2006 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
+ *
+ * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
+ *
+ * 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 the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program 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 this program (see COPYING); if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ *
+ */
+
+
+#ifndef _AEFFECTX_H
+#define _AEFFECTX_H
+
+#include <stdint.h>
+
+#define audioMasterAutomate 0
+#define audioMasterVersion 1
+#define audioMasterCurrentId 2
+#define audioMasterIdle 3
+#define audioMasterPinConnected 4
+// unsupported? 5
+#define audioMasterWantMidi 6
+#define audioMasterGetTime 7
+#define audioMasterProcessEvents 8
+#define audioMasterSetTime 9
+#define audioMasterTempoAt 10
+#define audioMasterGetNumAutomatableParameters 11
+#define audioMasterGetParameterQuantization 12
+#define audioMasterIOChanged 13
+#define audioMasterNeedIdle 14
+#define audioMasterSizeWindow 15
+#define audioMasterGetSampleRate 16
+#define audioMasterGetBlockSize 17
+#define audioMasterGetInputLatency 18
+#define audioMasterGetOutputLatency 19
+#define audioMasterGetPreviousPlug 20
+#define audioMasterGetNextPlug 21
+#define audioMasterWillReplaceOrAccumulate 22
+#define audioMasterGetCurrentProcessLevel 23
+#define audioMasterGetAutomationState 24
+#define audioMasterOfflineStart 25
+#define audioMasterOfflineRead 26
+#define audioMasterOfflineWrite 27
+#define audioMasterOfflineGetCurrentPass 28
+#define audioMasterOfflineGetCurrentMetaPass 29
+#define audioMasterSetOutputSampleRate 30
+// unsupported? 31
+#define audioMasterGetSpeakerArrangement 31 // deprecated in 2.4?
+#define audioMasterGetVendorString 32
+#define audioMasterGetProductString 33
+#define audioMasterGetVendorVersion 34
+#define audioMasterVendorSpecific 35
+#define audioMasterSetIcon 36
+#define audioMasterCanDo 37
+#define audioMasterGetLanguage 38
+#define audioMasterOpenWindow 39
+#define audioMasterCloseWindow 40
+#define audioMasterGetDirectory 41
+#define audioMasterUpdateDisplay 42
+#define audioMasterBeginEdit 43
+#define audioMasterEndEdit 44
+#define audioMasterOpenFileSelector 45
+#define audioMasterCloseFileSelector 46// currently unused
+#define audioMasterEditFile 47// currently unused
+#define audioMasterGetChunkFile 48// currently unused
+#define audioMasterGetInputSpeakerArrangement 49 // currently unused
+
+#define effFlagsHasEditor 1
+// very likely
+#define effFlagsCanReplacing (1 << 4)
+// currently unused
+#define effFlagsIsSynth (1 << 8)
+
+#define effOpen 0
+//currently unused
+#define effClose 1
+// currently unused
+#define effSetProgram 2
+// currently unused
+#define effGetProgram 3
+// currently unused
+#define effGetProgramName 5
+#define effGetParamLabel 6
+// currently unused
+#define effGetParamName 8
+// this is a guess
+#define effSetSampleRate 10
+#define effSetBlockSize 11
+#define effMainsChanged 12
+#define effEditGetRect 13
+#define effEditOpen 14
+#define effEditClose 15
+#define effEditIdle 19
+#define effProcessEvents 25
+#define effGetEffectName 45
+// missing
+#define effGetParameterProperties 47
+#define effGetVendorString 47
+#define effGetProductString 48
+#define effGetVendorVersion 49
+// currently unused
+#define effCanDo 51
+// currently unused
+#define effGetVstVersion 58
+
+#ifdef WORDS_BIGENDIAN
+// "VstP"
+#define kEffectMagic 0x50747356
+#else
+// "PtsV"
+#define kEffectMagic 0x56737450
+#endif
+
+#define kVstLangEnglish 1
+#define kVstMidiType 1
+#define kVstTransportPlaying (1 << 1)
+
+/* validity flags for a VstTimeINfo structure this info comes from the web */
+
+#define kVstNanosValid (1 << 8)
+#define kVstPpqPosValid (1 << 9)
+#define kVstTempoValid (1 << 10)
+#define kVstBarsValid (1 << 11)
+#define kVstCyclePosValid (1 << 12)
+#define kVstTimeSigValid (1 << 13)
+#define kVstSmpteValid (1 << 14)
+#define kVstClockValid (1 << 15)
+
+#define kVstTransportChanged 1
+
+typedef struct VstMidiEvent
+{
+ // 00
+ int type;
+ // 04
+ int byteSize;
+ // 08
+ int deltaFrames;
+ // 0c?
+ int flags;
+ // 10?
+ int noteLength;
+ // 14?
+ int noteOffset;
+ // 18
+ char midiData[4];
+ // 1c?
+ char detune;
+ // 1d?
+ char noteOffVelocity;
+ // 1e?
+ char reserved1;
+ // 1f?
+ char reserved2;
+
+} VstMidiEvent;
+
+
+
+
+typedef struct VstEvent
+{
+ char dump[sizeof( VstMidiEvent )];
+
+} VstEvent ;
+
+
+
+
+typedef struct VstEvents
+{
+ // 00
+ int numEvents;
+ // 04
+ int reserved;
+ // 08
+ VstEvent * events[];
+} VstEvents;
+
+/* constants from http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=3740&sid=183f74631fee71a493316735e2b9f28b */
+
+enum Vestige2StringConstants
+{
+ VestigeMaxNameLen = 64,
+ VestigeMaxLabelLen = 64,
+ VestigeMaxShortLabelLen = 8,
+ VestigeMaxCategLabelLen = 24,
+ VestigeMaxFileNameLen = 100
+};
+
+/* this struct taken from http://asseca.com/vst-24-specs/efGetParameterProperties.html */
+struct VstParameterProperties
+{
+ float stepFloat; /* float step */
+ float smallStepFloat; /* small float step */
+ float largeStepFloat; /* large float step */
+ char label[VestigeMaxLabelLen]; /* parameter label */
+ int32_t flags; /* @see VstParameterFlags */
+ int32_t minInteger; /* integer minimum */
+ int32_t maxInteger; /* integer maximum */
+ int32_t stepInteger; /* integer step */
+ int32_t largeStepInteger; /* large integer step */
+ char shortLabel[VestigeMaxShortLabelLen]; /* short label, recommended: 6 + delimiter */
+ int16_t displayIndex; /* index where this parameter should be displayed (starting with 0) */
+ int16_t category; /* 0: no category, else group index + 1 */
+ int16_t numParametersInCategory; /* number of parameters in category */
+ int16_t reserved; /* zero */
+ char categoryLabel[VestigeMaxCategLabelLen]; /* category label, e.g. "Osc 1" */
+ char future[16]; /* reserved for future use */
+};
+
+/* this enum taken from http://asseca.com/vst-24-specs/efGetParameterProperties.html */
+enum VstParameterFlags
+{
+ kVstParameterIsSwitch = 1 << 0, /* parameter is a switch (on/off) */
+ kVstParameterUsesIntegerMinMax = 1 << 1, /* minInteger, maxInteger valid */
+ kVstParameterUsesFloatStep = 1 << 2, /* stepFloat, smallStepFloat, largeStepFloat valid */
+ kVstParameterUsesIntStep = 1 << 3, /* stepInteger, largeStepInteger valid */
+ kVstParameterSupportsDisplayIndex = 1 << 4, /* displayIndex valid */
+ kVstParameterSupportsDisplayCategory = 1 << 5, /* category, etc. valid */
+ kVstParameterCanRamp = 1 << 6 /* set if parameter value can ramp up/down */
+};
+
+typedef struct AEffect
+{
+ // Never use c++!!!
+ // 00-03
+ int magic;
+ // dispatcher 04-07
+ int (* dispatcher)( struct AEffect * , int , int , int , void * , float );
+ // process, quite sure 08-0b
+ void (* process)( struct AEffect * , float * * , float * * , int );
+ // setParameter 0c-0f
+ void (* setParameter)( struct AEffect * , int , float );
+ // getParameter 10-13
+ float (* getParameter)( struct AEffect * , int );
+ // programs 14-17
+ int numPrograms;
+ // Params 18-1b
+ int numParams;
+ // Input 1c-1f
+ int numInputs;
+ // Output 20-23
+ int numOutputs;
+ // flags 24-27
+ int flags;
+ // Fill somewhere 28-2b
+ void * user;
+ // Zeroes 2c-2f 30-33 34-37 38-3b
+ char empty3[4 + 4 + 4 + 4];
+ // 1.0f 3c-3f
+ float unkown_float;
+ // An object? pointer 40-43
+ char empty4[4];
+ // Zeroes 44-47
+ char empty5[4];
+ // Id 48-4b
+ char unused_id[4];
+ // Don't know 4c-4f
+ char unknown1[4];
+ // processReplacing 50-53
+ void (* processReplacing)( struct AEffect * , float * * , float * * , int );
+
+ int uniqueID;
+
+} AEffect;
+
+
+
+
+typedef struct VstTimeInfo
+{
+ /* info from online documentation of VST provided by Steinberg */
+
+ double samplePos;
+ double sampleRate;
+ double nanoSeconds;
+ double ppqPos;
+ double tempo;
+ double barStartPos;
+ double cycleStartPos;
+ double cycleEndPos;
+ double timeSigNumerator;
+ double timeSigDenominator;
+ long smpteOffset;
+ long smpteFrameRate;
+ long samplesToNextClock;
+ long flags;
+
+} VstTimeInfo;
+
+
+typedef long int (* audioMasterCallback)( AEffect * , long int , long int ,
+ long int , void * , float );
+// we don't use it, may be noise
+#define VSTCALLBACK
+
+
+
+
+#endif
diff --git a/libs/fst/vsti.c b/libs/fst/vsti.c
index f6d8725..6a64f9c 100644
--- a/libs/fst/vsti.c
+++ b/libs/fst/vsti.c
@@ -30,7 +30,9 @@
#include <fcntl.h>
#include <stdbool.h>
#include <jackvst.h>
-#include <vst/aeffectx.h>
+#include <vestige/aeffectx.h>
+#include <pthread.h>
+#include <sched.h>
snd_seq_t *
create_sequencer (const char* client_name, bool isinput)
@@ -74,7 +76,7 @@ queue_midi (JackVST *jvst, int val1, int val2, int val3)
return;
}
- pevent = (struct VstMidiEevent *) vec[0].buf;
+ pevent = (struct VstMidiEvent *) vec[0].buf;
// printf("note: %d\n",note);
@@ -104,6 +106,13 @@ void *midireceiver(void *arg)
JackVST *jvst = (JackVST* )arg;
int val;
+ struct sched_param scp;
+ scp.sched_priority = 50;
+
+ // Try to set fifo priority...
+ // this works, if we are root or newe sched-cap manegment is used...
+ pthread_setschedparam( pthread_self(), SCHED_FIFO, &scp );
+
while (1) {
snd_seq_event_input (jvst->seq, &event);
diff --git a/libs/fst/vstwin.c b/libs/fst/vstwin.c
index 55061c2..09ca8f1 100644
--- a/libs/fst/vstwin.c
+++ b/libs/fst/vstwin.c
@@ -1,18 +1,18 @@
#include <stdio.h>
+#include <jack/jack.h>
+#include <jack/thread.h>
#include <libgen.h>
#include <windows.h>
#include <winnt.h>
#include <wine/exception.h>
#include <pthread.h>
#include <signal.h>
-
-//#include <x11/xlib.h>
-//#include <x11/xresource.h>
-//#include <x11/xutil.h>
-//#include <x11/xatom.h>
+#include <glib.h>
#include "fst.h"
+#include <X11/X.h>
+#include <X11/Xlib.h>
struct ERect{
short top;
@@ -21,139 +21,24 @@ struct ERect{
short right;
};
-static pthread_mutex_t plugin_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t plugin_mutex;
static FST* fst_first = NULL;
+const char magic[] = "FST Plugin State v002";
DWORD gui_thread_id = 0;
+static int gui_quit = 0;
-static char* message_name (int message)
-{
- switch (message) {
- case 0x0000:
- return "WM_NULL";
-
- case 0x0001:
- return "WM_CREATE";
-
- case 0x0002:
- return "WM_DESTROY";
-
- case 0x0003:
- return "WM_MOVE";
-
- case 0x0004:
- return "WM_SIZEWAIT";
-
- case 0x0005:
- return "WM_SIZE";
-
- case 0x0006:
- return "WM_ACTIVATE";
-
- case 0x0007:
- return "WM_SETFOCUS";
-
- case 0x0008:
- return "WM_KILLFOCUS";
-
- case 0x0009:
- return "WM_SETVISIBLE";
-
- case 0x000a:
- return "WM_ENABLE";
-
- case 0x000b:
- return "WM_SETREDRAW";
-
- case 0x000c:
- return "WM_SETTEXT";
-
- case 0x000d:
- return "WM_GETTEXT";
-
- case 0x000e:
- return "WM_GETTEXTLENGTH";
-
- case 0x000f:
- return "WM_PAINT";
-
- case 0x0010:
- return "WM_CLOSE";
-
- case 0x0011:
- return "WM_QUERYENDSESSION";
-
- case 0x0012:
- return "WM_QUIT";
+#define DELAYED_WINDOW 1
- case 0x0013:
- return "WM_QUERYOPEN";
- case 0x0014:
- return "WM_ERASEBKGND";
-
- case 0x0015:
- return "WM_SYSCOLORCHANGE";
-
- case 0x0016:
- return "WM_ENDSESSION";
-
- case 0x0017:
- return "WM_SYSTEMERROR";
-
- case 0x0018:
- return "WM_SHOWWINDOW";
-
- case 0x0019:
- return "WM_CTLCOLOR";
-
- case 0x001a:
- return "WM_WININICHANGE";
-
- case 0x001b:
- return "WM_DEVMODECHANGE";
-
- case 0x001c:
- return "WM_ACTIVATEAPP";
-
- case 0x001d:
- return "WM_FONTCHANGE";
-
- case 0x001e:
- return "WM_TIMECHANGE";
-
- case 0x001f:
- return "WM_CANCELMODE";
-
- case 0x0020:
- return "WM_SETCURSOR";
-
- case 0x0021:
- return "WM_MOUSEACTIVATE";
-
- case 0x0022:
- return "WM_CHILDACTIVATE";
-
- case 0x0023:
- return "WM_QUEUESYNC";
-
- case 0x0024:
- return "WM_GETMINMAXINFO";
-
- default:
- break;
- }
- return "--- OTHER ---";
-}
-
static LRESULT WINAPI
my_window_proc (HWND w, UINT msg, WPARAM wp, LPARAM lp)
{
- FST* fst;
-
-// if (msg != WM_TIMER) {
-// fst_error ("window callback handler, msg = 0x%x (%s) win=%p\n", msg, message_name (msg), w);
-// }
+#if 0
+ if (msg != WM_TIMER) {
+ fst_error ("window callback handler, msg = 0x%x win=%p\n", msg, w);
+ }
+#endif
switch (msg) {
case WM_KEYUP:
@@ -161,22 +46,14 @@ my_window_proc (HWND w, UINT msg, WPARAM wp, LPARAM lp)
break;
case WM_CLOSE:
- PostQuitMessage (0);
+ /* we don't care about windows closing ... */
+ return 0;
+ break;
case WM_DESTROY:
case WM_NCDESTROY:
- /* we should never get these */
- //return 0;
- break;
-
- case WM_PAINT:
- if ((fst = GetPropA (w, "fst_ptr")) != NULL) {
- if (fst->window && !fst->been_activated) {
- fst->been_activated = TRUE;
- pthread_cond_signal (&fst->window_status_change);
- pthread_mutex_unlock (&fst->lock);
- }
- }
+ /* we don't care about windows being destroyed ... */
+ return 0;
break;
default:
@@ -190,10 +67,11 @@ static FST*
fst_new ()
{
FST* fst = (FST*) calloc (1, sizeof (FST));
-
pthread_mutex_init (&fst->lock, NULL);
pthread_cond_init (&fst->window_status_change, NULL);
-
+ pthread_cond_init (&fst->plugin_dispatcher_called, NULL);
+ fst->want_program = -1;
+ fst->current_program = -1;
return fst;
}
@@ -204,98 +82,6 @@ fst_handle_new ()
return fst;
}
-int
-fst_create_editor (FST* fst)
-{
- HMODULE hInst;
- HWND window;
-
- /* "guard point" to trap errors that occur during plugin loading */
-
- /* Note: fst->lock is held while this function is called */
-
- if (!(fst->plugin->flags & effFlagsHasEditor)) {
- fst_error ("Plugin \"%s\" has no editor", fst->handle->name);
- return -1;
- }
-
- if ((hInst = GetModuleHandleA (NULL)) == NULL) {
- fst_error ("can't get module handle");
- return 1;
- }
-
-// if ((window = CreateWindowExA (WS_EX_TOOLWINDOW | WS_EX_TRAYWINDOW, "FST", fst->handle->name,
- if ((window = CreateWindowExA (0, "FST", fst->handle->name,
- (WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX),
- 0, 0, 1, 1,
- NULL, NULL,
- hInst,
- NULL)) == NULL) {
- fst_error ("cannot create editor window");
- return 1;
- }
-
- if (!SetPropA (window, "fst_ptr", fst)) {
- fst_error ("cannot set fst_ptr on window");
- }
-
- fst->window = window;
- fst->xid = (int) GetPropA (window, "__wine_x11_whole_window");
-
- {
- struct ERect* er;
-
- ShowWindow (fst->window, SW_SHOW);
-
- fst->plugin->dispatcher (fst->plugin, effEditOpen, 0, 0, fst->window, 0 );
- fst->plugin->dispatcher (fst->plugin, effEditGetRect, 0, 0, &er, 0 );
-
- fst->width = er->right-er->left;
- fst->height = er->bottom-er->top;
-
- SetWindowPos (fst->window, 0, 0, 0, er->right-er->left+8, er->bottom-er->top+26, SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOZORDER);
- }
-
- return 0;
-}
-
-void
-fst_destroy_editor (FST* fst)
-{
- pthread_mutex_lock (&fst->lock);
- if (fst->window) {
- fst->destroy = TRUE;
- if (!PostThreadMessageA (gui_thread_id, WM_USER, 0, 0)) {
- fst_error ("could not post message to gui thread");
- }
- pthread_cond_wait (&fst->window_status_change, &fst->lock);
-
- }
- pthread_mutex_unlock (&fst->lock);
-}
-
-void
-fst_event_loop_remove_plugin (FST* fst)
-{
- FST* p;
- FST* prev;
-
- for (p = fst_first, prev = NULL; p->next; prev = p, p = p->next) {
- if (p == fst) {
- if (prev) {
- prev->next = p->next;
- }
- }
- }
-
- if (fst_first == fst) {
- fst_first = fst_first->next;
- }
-
-}
-
-void debreak( void ) { printf( "debreak\n" ); }
-
DWORD WINAPI gui_event_loop (LPVOID param)
{
MSG msg;
@@ -314,28 +100,28 @@ DWORD WINAPI gui_event_loop (LPVOID param)
if ((window = CreateWindowExA (0, "FST", "dummy",
WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
+ 9999, 9999,
+ 1, 1,
NULL, NULL,
hInst,
NULL )) == NULL) {
fst_error ("cannot create dummy timer window");
}
- if (!SetTimer (window, 1000, 100, NULL)) {
+ if (!SetTimer (window, 1000, 20, NULL)) {
fst_error ("cannot set timer on dummy window");
}
- while (1) {
-
- GetMessageA (&msg, NULL, 0,0);
+ while (!gui_quit) {
- if (msg.message == WM_SYSTEMERROR) {
- /* sent when this thread is supposed to exist */
- break;
+ if (!GetMessageA (&msg, NULL, 0,0)) {
+ if (!gui_quit) {
+ fprintf (stderr, "QUIT message received by Windows GUI thread - ignored\n");
+ continue;
+ } else {
+ break;
+ }
}
-
- if (msg.message == WM_KEYDOWN) debreak();
TranslateMessage( &msg );
DispatchMessageA (&msg);
@@ -343,92 +129,140 @@ DWORD WINAPI gui_event_loop (LPVOID param)
/* handle window creation requests, destroy requests,
and run idle callbacks
*/
-
- if( msg.message == WM_TIMER ) {
- pthread_mutex_lock (&plugin_mutex);
+
+ if (msg.message == WM_TIMER) {
+ pthread_mutex_lock (&plugin_mutex);
+
again:
- for (fst = fst_first; fst; fst = fst->next) {
-
- if (fst->destroy) {
- if (fst->window) {
- fst->plugin->dispatcher( fst->plugin, effEditClose, 0, 0, NULL, 0.0 );
- CloseWindow (fst->window);
- fst->window = NULL;
- fst->destroy = FALSE;
- }
- fst_event_loop_remove_plugin (fst);
- fst->been_activated = FALSE;
- pthread_mutex_lock (&fst->lock);
- pthread_cond_signal (&fst->window_status_change);
- pthread_mutex_unlock (&fst->lock);
- goto again;
- }
-
- if (fst->window == NULL) {
- pthread_mutex_lock (&fst->lock);
- if (fst_create_editor (fst)) {
- fst_error ("cannot create editor for plugin %s", fst->handle->name);
- fst_event_loop_remove_plugin (fst);
- pthread_cond_signal (&fst->window_status_change);
+ for (fst = fst_first; fst; fst = fst->next) {
+
+ pthread_mutex_lock (&fst->lock);
+
+ if (fst->destroy) {
+ fprintf (stderr, "%s scheduled for destroy\n", fst->handle->name);
+ if (fst->window) {
+ fst->plugin->dispatcher( fst->plugin, effEditClose, 0, 0, NULL, 0.0 );
+ CloseWindow (fst->window);
+ fst->window = NULL;
+ fst->destroy = FALSE;
+ }
+ fst_event_loop_remove_plugin (fst);
+ fst->been_activated = FALSE;
+ pthread_cond_signal (&fst->window_status_change);
+ pthread_mutex_unlock (&fst->lock);
+ goto again;
+ }
+
+ if (fst->window == NULL) {
+ if (fst_create_editor (fst)) {
+ fst_error ("cannot create editor for plugin %s", fst->handle->name);
+ fst_event_loop_remove_plugin (fst);
+ pthread_cond_signal (&fst->window_status_change);
+ pthread_mutex_unlock (&fst->lock);
+ goto again;
+ } else {
+ /* condition/unlock: it was signalled & unlocked in fst_create_editor() */
+ }
+ }
+
+ if (fst->want_program != -1 ) {
+ if (fst->vst_version >= 2) {
+ fst->plugin->dispatcher (fst->plugin, 67 /* effBeginSetProgram */, 0, 0, NULL, 0);
+ }
+
+ fst->plugin->dispatcher (fst->plugin, effSetProgram, 0, fst->want_program, NULL, 0);
+
+ if (fst->vst_version >= 2) {
+ fst->plugin->dispatcher (fst->plugin, 68 /* effEndSetProgram */, 0, 0, NULL, 0);
+ }
+ /* did it work? */
+ fst->current_program = fst->plugin->dispatcher (fst->plugin, 3, /* effGetProgram */ 0, 0, NULL, 0);
+ fst->want_program = -1;
+ }
+
+ if(fst->dispatcher_wantcall) {
+ fst->dispatcher_retval = fst->plugin->dispatcher( fst->plugin,
+ fst->dispatcher_opcode,
+ fst->dispatcher_index,
+ fst->dispatcher_val,
+ fst->dispatcher_ptr,
+ fst->dispatcher_opt );
+ fst->dispatcher_wantcall = 0;
+ pthread_cond_signal (&fst->plugin_dispatcher_called);
+ }
+
+ fst->plugin->dispatcher (fst->plugin, effEditIdle, 0, 0, NULL, 0);
+
+ if( fst->wantIdle ) {
+ fst->plugin->dispatcher (fst->plugin, 53, 0, 0, NULL, 0);
+ }
+
pthread_mutex_unlock (&fst->lock);
- goto again;
- }
- /* condition/unlock handled when we receive WM_ACTIVATE */
}
-
- fst->plugin->dispatcher (fst->plugin, effEditIdle, 0, 0, NULL, 0);
- }
- pthread_mutex_unlock (&plugin_mutex);
+ pthread_mutex_unlock (&plugin_mutex);
+
}
}
- fst_error ("FST GUI event loop has quit!");
+
return 0;
}
int
-fst_init ()
+fst_init (void* possible_hmodule)
{
- WNDCLASSA wc;
+ WNDCLASSEX wclass;
HMODULE hInst;
-
- if ((hInst = GetModuleHandleA (NULL)) == NULL) {
+
+ if (possible_hmodule) {
+ hInst = (HMODULE) possible_hmodule;
+ } else if ((hInst = GetModuleHandleA (NULL)) == NULL) {
fst_error ("can't get module handle");
return -1;
}
- wc.style = 0;
- wc.lpfnWndProc = my_window_proc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hInst;
- wc.hIcon = LoadIconA( hInst, "FST");
- wc.hCursor = LoadCursorA( NULL, IDI_APPLICATION );
- wc.hbrBackground = GetStockObject( BLACK_BRUSH );
- wc.lpszMenuName = "MENU_FST";
- wc.lpszClassName = "FST";
-
- if (!RegisterClassA(&wc)){
- return 1;
+
+ wclass.cbSize = sizeof(WNDCLASSEX);
+ wclass.style = 0;
+ wclass.lpfnWndProc = my_window_proc;
+ wclass.cbClsExtra = 0;
+ wclass.cbWndExtra = 0;
+ wclass.hInstance = hInst;
+ wclass.hIcon = LoadIcon(hInst, "FST");
+ wclass.hCursor = LoadCursor(0, IDI_APPLICATION);
+// wclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
+ wclass.lpszMenuName = "MENU_FST";
+ wclass.lpszClassName = "FST";
+ wclass.hIconSm = 0;
+
+
+ if (!RegisterClassExA(&wclass)){
+ printf( "Class register failed :(\n" );
+ return -1;
}
+ fst_error ("Startup win32 GUI thread\n");
+
if (CreateThread (NULL, 0, gui_event_loop, NULL, 0, NULL) == NULL) {
fst_error ("could not create new thread proxy");
return -1;
}
+#ifdef HAVE_JACK_SET_THREAD_CREATOR
+ jack_set_thread_creator (wine_pthread_create);
+#endif
+
return 0;
}
void
-fst_finish ()
+fst_exit ()
{
- PostThreadMessageA (gui_thread_id, WM_SYSTEMERROR, 0, 0);
+ gui_quit = 1;
+ PostQuitMessage (0);
}
int
fst_run_editor (FST* fst)
{
- /* Add the FST to the list of all that should be handled by the GUI thread */
-
pthread_mutex_lock (&plugin_mutex);
if (fst_first == NULL) {
@@ -441,11 +275,6 @@ fst_run_editor (FST* fst)
p->next = fst;
}
- if (!PostThreadMessageA (gui_thread_id, WM_USER, 0, 0)) {
- fst_error ("could not post message to gui thread");
- return -1;
- }
-
pthread_mutex_unlock (&plugin_mutex);
/* wait for the plugin editor window to be created (or not) */
@@ -457,13 +286,188 @@ fst_run_editor (FST* fst)
pthread_mutex_unlock (&fst->lock);
if (!fst->window) {
- fst_error ("no window created for VST plugin editor");
return -1;
}
return 0;
}
+int
+fst_call_dispatcher (FST *fst, int opcode, int index, int val, void *ptr, float opt)
+{
+ pthread_mutex_lock (&fst->lock);
+ fst->dispatcher_opcode = opcode;
+ fst->dispatcher_index = index;
+ fst->dispatcher_val = val;
+ fst->dispatcher_ptr = ptr;
+ fst->dispatcher_opt = opt;
+ fst->dispatcher_wantcall = 1;
+
+ pthread_cond_wait (&fst->plugin_dispatcher_called, &fst->lock);
+ pthread_mutex_unlock (&fst->lock);
+
+ return fst->dispatcher_retval;
+}
+
+int
+fst_create_editor (FST* fst)
+{
+ HMODULE hInst;
+ HWND window;
+ struct ERect* er;
+
+ /* "guard point" to trap errors that occur during plugin loading */
+
+ /* Note: fst->lock is held while this function is called */
+
+ if (!(fst->plugin->flags & effFlagsHasEditor)) {
+ fst_error ("Plugin \"%s\" has no editor", fst->handle->name);
+ return -1;
+ }
+
+ if ((hInst = GetModuleHandleA (NULL)) == NULL) {
+ fst_error ("can't get module handle");
+ return 1;
+ }
+
+// if ((window = CreateWindowExA (WS_EX_TOOLWINDOW | WS_EX_TRAYWINDOW, "FST", fst->handle->name,
+ if ((window = CreateWindowExA (0, "FST", fst->handle->name,
+ (WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX),
+// (WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX),
+ 9999,9999,1,1,
+// CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
+ NULL, NULL,
+ hInst,
+ NULL)) == NULL) {
+ fst_error ("cannot create editor window");
+ return 1;
+ }
+
+ if (!SetPropA (window, "fst_ptr", fst)) {
+ fst_error ("cannot set fst_ptr on window");
+ }
+
+ fst->window = window;
+// fst->xid = (int) GetPropA (window, "__wine_x11_whole_window");
+
+
+ //printf( "effEditOpen......\n" );
+ fst->plugin->dispatcher (fst->plugin, effEditOpen, 0, 0, fst->window, 0 );
+ fst->plugin->dispatcher (fst->plugin, effEditGetRect, 0, 0, &er, 0 );
+
+ fst->width = er->right-er->left;
+ fst->height = er->bottom-er->top;
+ //printf( "get rect ses... %d,%d\n", fst->width, fst->height );
+
+ //SetWindowPos (fst->window, 0, 9999, 9999, er->right-er->left+8, er->bottom-er->top+26, 0);
+ SetWindowPos (fst->window, 0, 9999, 9999, 2, 2, 0);
+ ShowWindow (fst->window, SW_SHOWNA);
+ //SetWindowPos (fst->window, 0, 0, 0, er->right-er->left+8, er->bottom-er->top+26, SWP_NOMOVE|SWP_NOZORDER);
+
+ fst->xid = (int) GetPropA (window, "__wine_x11_whole_window");
+ fst->been_activated = TRUE;
+ pthread_cond_signal (&fst->window_status_change);
+ pthread_mutex_unlock (&fst->lock);
+
+ return 0;
+}
+
+void
+fst_move_window_into_view (FST* fst)
+{
+ if (fst->window) {
+ SetWindowPos (fst->window, 0, 0, 0, fst->width, fst->height+24, 0);
+ ShowWindow (fst->window, SW_SHOWNA);
+ }
+}
+
+void
+fst_destroy_editor (FST* fst)
+{
+ pthread_mutex_lock (&fst->lock);
+ if (fst->window) {
+ fprintf (stderr, "mark %s for destroy\n", fst->handle->name);
+ fst->destroy = TRUE;
+ //if (!PostThreadMessageA (gui_thread_id, WM_USER, 0, 0)) {
+ //if (!PostThreadMessageA (gui_thread_id, WM_QUIT, 0, 0)) {
+ // fst_error ("could not post message to gui thread");
+ //}
+ pthread_cond_wait (&fst->window_status_change, &fst->lock);
+ fprintf (stderr, "%s editor destroyed\n", fst->handle->name);
+
+ }
+ pthread_mutex_unlock (&fst->lock);
+}
+
+void
+fst_event_loop_remove_plugin (FST* fst)
+{
+ FST* p;
+ FST* prev;
+
+ for (p = fst_first, prev = NULL; p->next; prev = p, p = p->next) {
+ if (p == fst) {
+ if (prev) {
+ prev->next = p->next;
+ }
+ }
+ }
+
+ if (fst_first == fst) {
+ fst_first = fst_first->next;
+ }
+
+}
+
+HMODULE
+fst_load_vst_library(const char * path)
+{
+ HMODULE dll;
+ char * full_path;
+ char * envdup;
+ char * vst_path;
+ size_t len1;
+ size_t len2;
+
+ if ((dll = LoadLibraryA (path)) != NULL) {
+ return dll;
+ }
+
+ envdup = getenv ("VST_PATH");
+ if (envdup == NULL) {
+ return NULL;
+ }
+
+ envdup = strdup (envdup);
+ if (envdup == NULL) {
+ fst_error ("strdup failed");
+ return NULL;
+ }
+
+ len2 = strlen(path);
+
+ vst_path = strtok (envdup, ":");
+ while (vst_path != NULL) {
+ fst_error ("\"%s\"", vst_path);
+ len1 = strlen(vst_path);
+ full_path = malloc (len1 + 1 + len2 + 1);
+ memcpy(full_path, vst_path, len1);
+ full_path[len1] = '/';
+ memcpy(full_path + len1 + 1, path, len2);
+ full_path[len1 + 1 + len2] = '\0';
+
+ if ((dll = LoadLibraryA (full_path)) != NULL) {
+ break;
+ }
+
+ vst_path = strtok (NULL, ":");
+ }
+
+ free(envdup);
+
+ return dll;
+}
+
FSTHandle*
fst_load (const char *path)
{
@@ -509,14 +513,12 @@ fst_load (const char *path)
*period = '\0';
}
- if ((fhandle->dll = LoadLibraryA (buf)) == NULL) {
+ if ((fhandle->dll = fst_load_vst_library (buf)) == NULL) {
fst_unload (fhandle);
return NULL;
}
- typedef AEffect* (*entryFunctionType)(audioMasterCallback);
-
- if ((fhandle->main_entry = (entryFunctionType) GetProcAddress (fhandle->dll, "main")) == NULL) {
+ if ((fhandle->main_entry = (main_entry_t) GetProcAddress (fhandle->dll, "main")) == NULL) {
fst_unload (fhandle);
return NULL;
}
@@ -573,7 +575,10 @@ fst_instantiate (FSTHandle* fhandle, audioMasterCallback amc, void* userptr)
fst->plugin->dispatcher (fst->plugin, effOpen, 0, 0, 0, 0);
//fst->plugin->dispatcher (fst->plugin, effMainsChanged, 0, 0, NULL, 0);
+ fst->vst_version = fst->plugin->dispatcher (fst->plugin, effGetVstVersion, 0, 0, 0, 0);
+
fst->handle->plugincnt++;
+ fst->wantIdle = 0;
return fst;
}
@@ -596,3 +601,202 @@ fst_get_XID (FST* fst)
{
return fst->xid;
}
+
+float htonf (float v)
+{
+ float result;
+ char * fin = (char*)&v;
+ char * fout = (char*)&result;
+ fout[0] = fin[3];
+ fout[1] = fin[2];
+ fout[2] = fin[1];
+ fout[3] = fin[0];
+ return result;
+}
+
+#if 0
+int fst_load_state (FST * fst, char * filename)
+{
+ FILE * f = fopen (filename, "rb");
+ if (f) {
+ char testMagic[sizeof (magic)];
+ fread (&testMagic, sizeof (magic), 1, f);
+ if (strcmp (testMagic, magic)) {
+ printf ("File corrupt\n");
+ return FALSE;
+ }
+
+ char productString[64];
+ char vendorString[64];
+ char effectName[64];
+ char testString[64];
+ unsigned length;
+ int success;
+
+ fread (&length, sizeof (unsigned), 1, f);
+ length = htonl (length);
+ fread (productString, length, 1, f);
+ productString[length] = 0;
+ printf ("Product string: %s\n", productString);
+
+ success = fst_call_dispatcher( fst, effGetProductString, 0, 0, testString, 0 );
+ if (success == 1) {
+ if (strcmp (testString, productString) != 0) {
+ printf ("Product string mismatch! Plugin has: %s\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+ } else if (length != 0) {
+ printf ("Product string mismatch! Plugin has none.\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+
+ fread (&length, sizeof (unsigned), 1, f);
+ length = htonl (length);
+ fread (effectName, length, 1, f);
+ effectName[length] = 0;
+ printf ("Effect name: %s\n", effectName);
+
+ success = fst_call_dispatcher( fst, effGetEffectName, 0, 0, testString, 0 );
+ if (success == 1) {
+ if (strcmp (testString, effectName) != 0) {
+ printf ("Effect name mismatch! Plugin has: %s\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+ } else if (length != 0) {
+ printf ("Effect name mismatch! Plugin has none.\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+
+ fread (&length, sizeof (unsigned), 1, f);
+ length = htonl (length);
+ fread (vendorString, length, 1, f);
+ vendorString[length] = 0;
+ printf ("Vendor string: %s\n", vendorString);
+
+ success = fst_call_dispatcher( fst, effGetVendorString, 0, 0, testString, 0 );
+ if (success == 1) {
+ if (strcmp (testString, vendorString) != 0) {
+ printf ("Vendor string mismatch! Plugin has: %s\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+ } else if (length != 0) {
+ printf ("Vendor string mismatch! Plugin has none.\n", testString);
+ fclose (f);
+ return FALSE;
+ }
+
+ int numParam;
+ unsigned i;
+ fread (&numParam, sizeof (int), 1, f);
+ numParam = htonl (numParam);
+ for (i = 0; i < numParam; ++i) {
+ float val;
+ fread (&val, sizeof (float), 1, f);
+ val = htonf (val);
+
+ pthread_mutex_lock( &fst->lock );
+ fst->plugin->setParameter( fst->plugin, i, val );
+ pthread_mutex_unlock( &fst->lock );
+ }
+
+ int bytelen;
+ fread (&bytelen, sizeof (int), 1, f);
+ bytelen = htonl (bytelen);
+ if (bytelen) {
+ char * buf = malloc (bytelen);
+ fread (buf, bytelen, 1, f);
+
+ fst_call_dispatcher( fst, 24, 0, bytelen, buf, 0 );
+ free (buf);
+ }
+ } else {
+ printf ("Could not open state file\n");
+ return FALSE;
+ }
+ return TRUE;
+
+}
+#endif
+
+int fst_save_state (FST * fst, char * filename)
+{
+ FILE * f = fopen (filename, "wb");
+ if (f) {
+ int bytelen;
+ int numParams = fst->plugin->numParams;
+ unsigned i;
+ char productString[64];
+ char effectName[64];
+ char vendorString[64];
+ int success;
+
+ // write header
+ fprintf( f, "<plugin_state>\n" );
+
+ success = fst_call_dispatcher( fst, effGetProductString, 0, 0, productString, 0 );
+ if( success == 1 ) {
+ fprintf (f, " <check field=\"productString\" value=\"%s\"/>\n", productString);
+ } else {
+ printf ("No product string\n");
+ }
+
+ success = fst_call_dispatcher( fst, effGetEffectName, 0, 0, effectName, 0 );
+ if( success == 1 ) {
+ fprintf (f, " <check field=\"effectName\" value=\"%s\"/>\n", effectName);
+ printf ("Effect name: %s\n", effectName);
+ } else {
+ printf ("No effect name\n");
+ }
+
+ success = fst_call_dispatcher( fst, effGetVendorString, 0, 0, vendorString, 0 );
+ if( success == 1 ) {
+ fprintf (f, " <check field=\"vendorString\" value=\"%s\"/>\n", vendorString);
+ printf ("Vendor string: %s\n", vendorString);
+ } else {
+ printf ("No vendor string\n");
+ }
+
+
+ if( fst->plugin->flags & 32 ) {
+ numParams = 0;
+ }
+
+ for( i=0; i<numParams; i++ ) {
+ float val;
+
+ pthread_mutex_lock( &fst->lock );
+ val = fst->plugin->getParameter( fst->plugin, i );
+ pthread_mutex_unlock( &fst->lock );
+ fprintf( f, " <param index=\"%d\" value=\"%f\"/>\n", i, val );
+ }
+
+ if( fst->plugin->flags & 32 ) {
+ printf( "getting chunk...\n" );
+ void * chunk;
+ bytelen = fst_call_dispatcher( fst, 23, 0, 0, &chunk, 0 );
+ printf( "got tha chunk..\n" );
+ if( bytelen ) {
+ if( bytelen < 0 ) {
+ printf( "Chunke len < 0 !!! Not saving chunk.\n" );
+ } else {
+ char *encoded = g_base64_encode( chunk, bytelen );
+ fprintf( f, " <chunk size=\"%d\">\n %s\n </chunk>\n", bytelen, encoded );
+ g_free( encoded );
+ }
+ }
+ }
+
+ fprintf( f, "</plugin_state>\n" );
+ fclose( f );
+ } else {
+ printf ("Could not open state file\n");
+ return FALSE;
+ }
+ return TRUE;
+}
+
diff --git a/libs/glibmm2/Makefile.in b/libs/glibmm2/Makefile.in
index 8b6e938..ca0dd5f 100644
--- a/libs/glibmm2/Makefile.in
+++ b/libs/glibmm2/Makefile.in
@@ -107,6 +107,7 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -141,6 +142,7 @@ M4 = @M4@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -205,6 +207,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I scripts
diff --git a/libs/glibmm2/configure b/libs/glibmm2/configure
index f620916..508774d 100755
--- a/libs/glibmm2/configure
+++ b/libs/glibmm2/configure
@@ -1,9 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
+# Generated by GNU Autoconf 2.63.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -15,7 +15,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -37,17 +37,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -63,8 +91,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -87,7 +113,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -100,17 +126,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -132,7 +151,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -158,7 +177,7 @@ else
as_have_required=no
fi
- if test $as_have_required = yes && (eval ":
+ if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
@@ -240,7 +259,7 @@ IFS=$as_save_IFS
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -261,7 +280,7 @@ _ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -341,10 +360,10 @@ fi
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
@@ -413,9 +432,10 @@ fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
- echo Please tell autoconf at gnu.org about your system,
- echo including any error possibly output before this
- echo message
+ echo Please tell bug-autoconf at gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
}
@@ -451,7 +471,7 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -479,7 +499,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -492,19 +511,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -529,10 +551,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -767,128 +789,145 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-GLIBMM_MAJOR_VERSION
-GLIBMM_MINOR_VERSION
-GLIBMM_MICRO_VERSION
-GLIBMM_VERSION
-GLIBMM_RELEASE
-LIBGLIBMM_SO_VERSION
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CPP
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
-RANLIB
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
-M4
-PKG_CONFIG
-GLIBMM_CFLAGS
-GLIBMM_LIBS
-GTHREAD_CFLAGS
-GTHREAD_LIBS
-GTKMM_FALSE_TRUE
-GTKMM_FALSE_FALSE
+ac_subst_vars='LTLIBOBJS
LIBOBJS
-LTLIBOBJS'
+GTKMM_FALSE_FALSE
+GTKMM_FALSE_TRUE
+GTHREAD_LIBS
+GTHREAD_CFLAGS
+GLIBMM_LIBS
+GLIBMM_CFLAGS
+PKG_CONFIG
+M4
+LIBTOOL
+ac_ct_F77
+FFLAGS
+F77
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+NMEDIT
+DSYMUTIL
+RANLIB
+AR
+ECHO
+LN_S
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+LIBGLIBMM_SO_VERSION
+GLIBMM_RELEASE
+GLIBMM_VERSION
+GLIBMM_MICRO_VERSION
+GLIBMM_MINOR_VERSION
+GLIBMM_MAJOR_VERSION
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_dependency_tracking
+enable_static
+enable_shared
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_pic
+with_tags
+enable_debug_refcounting
+enable_warnings
+'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -914,6 +953,8 @@ GTHREAD_LIBS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -1012,13 +1053,21 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -1031,13 +1080,21 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1228,22 +1285,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -1263,7 +1336,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -1272,16 +1345,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -1290,22 +1363,38 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
@@ -1320,7 +1409,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -1336,10 +1425,10 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
@@ -1347,12 +1436,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1379,12 +1468,12 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
@@ -1433,9 +1522,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1445,25 +1534,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1484,6 +1573,7 @@ if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-maintainer-mode enable make rules and dependencies not useful
@@ -1541,15 +1631,17 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1585,7 +1677,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1595,10 +1687,10 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1609,7 +1701,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1645,7 +1737,7 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
@@ -1680,7 +1772,7 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1732,11 +1824,12 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -1766,9 +1859,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
@@ -1783,9 +1876,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1801,8 +1894,8 @@ _ASBOX
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1844,21 +1937,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1868,16 +1964,16 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1891,29 +1987,38 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1923,10 +2028,12 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2008,8 +2115,8 @@ for ac_dir in scripts "$srcdir"/scripts; do
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2041,11 +2148,12 @@ am__api_version='1.10'
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -2074,17 +2182,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -2097,8 +2217,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -2108,8 +2228,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -2132,9 +2252,9 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2145,26 +2265,23 @@ then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
+$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -2175,15 +2292,15 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
@@ -2218,8 +2335,8 @@ fi
MKDIR_P="$ac_install_sh -d"
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
mkdir_p="$MKDIR_P"
case $mkdir_p in
@@ -2231,10 +2348,10 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2247,7 +2364,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2258,22 +2375,23 @@ fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
@@ -2290,12 +2408,12 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -2314,8 +2432,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -2370,10 +2488,10 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -2386,7 +2504,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2397,11 +2515,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2410,10 +2528,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -2426,7 +2544,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2437,11 +2555,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -2449,12 +2567,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -2481,8 +2595,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
ac_config_headers="$ac_config_headers glibmmconfig.h"
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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
@@ -2490,8 +2604,8 @@ else
USE_MAINTAINER_MODE=no
fi
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
@@ -2527,10 +2641,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2543,7 +2657,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2554,11 +2668,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2567,10 +2681,10 @@ if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2583,7 +2697,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2594,11 +2708,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
@@ -2606,12 +2720,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2624,10 +2734,10 @@ if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2640,7 +2750,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2651,11 +2761,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2664,10 +2774,10 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2685,7 +2795,7 @@ do
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2708,11 +2818,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2723,10 +2833,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2739,7 +2849,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2750,11 +2860,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2767,10 +2877,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2783,7 +2893,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2794,11 +2904,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2810,12 +2920,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2825,44 +2931,50 @@ fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -2881,27 +2993,22 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
@@ -2912,10 +3019,11 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
@@ -2926,7 +3034,7 @@ for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
@@ -2953,25 +3061,27 @@ else
ac_file=''
fi
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
@@ -2980,49 +3090,53 @@ if test "$cross_compiling" != yes; then
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -3031,31 +3145,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3078,40 +3194,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3137,20 +3256,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3160,15 +3280,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
@@ -3195,20 +3319,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CFLAGS=""
@@ -3233,20 +3358,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3272,20 +3398,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3300,8 +3427,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -3317,10 +3444,10 @@ else
CFLAGS=
fi
fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
@@ -3391,20 +3518,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_c89=$ac_arg
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3420,15 +3548,15 @@ fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
@@ -3449,8 +3577,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -3477,8 +3605,8 @@ if test "$am__include" = "#"; then
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
@@ -3502,10 +3630,10 @@ fi
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -3593,8 +3721,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
@@ -3613,15 +3741,15 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -3653,20 +3781,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -3690,13 +3819,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -3704,7 +3834,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -3729,8 +3859,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -3758,20 +3888,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -3795,13 +3926,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -3809,7 +3941,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -3825,11 +3957,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -3838,11 +3972,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
@@ -3859,45 +3994,45 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
@@ -3914,27 +4049,27 @@ IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
@@ -4025,10 +4160,10 @@ else
fi
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
@@ -4081,45 +4216,40 @@ fi
SED=$lt_cv_path_SED
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
+ if test -z "$GREP"; then
ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4134,74 +4264,60 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_GREP_found && break 3
+ $ac_path_GREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_GREP=$GREP
fi
-
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$EGREP"; then
ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4216,33 +4332,24 @@ case `"$ac_path_EGREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_EGREP=$EGREP
fi
-
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
@@ -4257,8 +4364,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -4287,14 +4394,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -4324,19 +4431,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -4348,20 +4455,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_ld_reload_flag='-r'
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -4378,10 +4485,10 @@ case $host_os in
;;
esac
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+$as_echo_n "checking for BSD-compatible nm... " >&6; }
if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
@@ -4427,25 +4534,25 @@ else
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -4462,7 +4569,7 @@ lt_cv_deplibs_check_method='unknown'
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4628,8 +4735,8 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4663,7 +4770,7 @@ ia64-*-hpux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
@@ -4678,11 +4785,11 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4681 "configure"' > conftest.$ac_ext
+ echo '#line 4788 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
@@ -4720,7 +4827,7 @@ s390*-*linux*|sparc*-*linux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
@@ -4771,10 +4878,10 @@ s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -4803,26 +4910,30 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
lt_cv_cc_needs_belf=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
@@ -4832,8 +4943,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -4845,13 +4956,17 @@ sparc*-*solaris*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
@@ -4866,10 +4981,10 @@ need_locks="$enable_libtool_lock"
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4896,20 +5011,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
@@ -5001,37 +5117,40 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
+rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -5053,11 +5172,11 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5075,20 +5194,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_Header=no"
@@ -5096,12 +5216,15 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5112,20 +5235,21 @@ done
for ac_header in dlfcn.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5141,32 +5265,33 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5180,69 +5305,73 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
;;
esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5263,10 +5392,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -5279,7 +5408,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5290,11 +5419,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5307,10 +5436,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -5323,7 +5452,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5334,11 +5463,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5350,12 +5479,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -5365,43 +5490,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5427,20 +5556,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -5450,15 +5580,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -5485,20 +5619,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -5523,20 +5658,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -5562,20 +5698,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -5590,8 +5727,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -5615,10 +5752,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -5706,8 +5843,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -5731,11 +5868,11 @@ ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
@@ -5767,20 +5904,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5804,13 +5942,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -5818,7 +5957,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5843,8 +5982,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5872,20 +6011,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5909,13 +6049,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -5923,7 +6064,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5939,11 +6080,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=cpp
@@ -5964,10 +6107,10 @@ if test -n "$ac_tool_prefix"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$F77"; then
ac_cv_prog_F77="$F77" # Let the user override the test.
@@ -5980,7 +6123,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5991,11 +6134,11 @@ fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $F77" >&5
+$as_echo "$F77" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6008,10 +6151,10 @@ if test -z "$F77"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_F77"; then
ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
@@ -6024,7 +6167,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6035,11 +6178,11 @@ fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+$as_echo "$ac_ct_F77" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6051,12 +6194,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
F77=$ac_ct_F77
@@ -6065,37 +6204,41 @@ fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
rm -f a.out
@@ -6103,10 +6246,10 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
program main
@@ -6122,20 +6265,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -6145,16 +6289,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+$as_echo "$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+$as_echo_n "checking whether $F77 accepts -g... " >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
FFLAGS=-g
cat >conftest.$ac_ext <<_ACEOF
@@ -6168,20 +6312,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_f77_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_prog_f77_g=no
@@ -6190,8 +6335,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+$as_echo "$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -6208,7 +6353,11 @@ else
fi
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
+if test $ac_compiler_gnu = yes; then
+ G77=yes
+else
+ G77=
+fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6218,12 +6367,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
i=0
teststring="ABCD"
@@ -6332,11 +6480,11 @@ else
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
fi
@@ -6344,10 +6492,10 @@ fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# These are sane defaults that work on at least a few old systems.
@@ -6452,14 +6600,14 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Now try to grab the symbols.
nlist=conftest.nm
if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
(eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
@@ -6514,7 +6662,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -6533,7 +6681,7 @@ EOF
echo "$progname: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$pipe_works" = yes; then
@@ -6549,17 +6697,17 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -6571,8 +6719,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -6623,10 +6771,10 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
@@ -6639,7 +6787,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6650,11 +6798,11 @@ fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6663,10 +6811,10 @@ if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
@@ -6679,7 +6827,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6690,11 +6838,11 @@ fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_AR" = x; then
@@ -6702,12 +6850,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
@@ -6719,10 +6863,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -6735,7 +6879,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6746,11 +6890,11 @@ fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6759,10 +6903,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -6775,7 +6919,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6786,11 +6930,11 @@ fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
@@ -6798,12 +6942,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
@@ -6815,10 +6955,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -6831,7 +6971,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6842,11 +6982,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6855,10 +6995,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -6871,7 +7011,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6882,11 +7022,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -6894,12 +7034,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -6962,10 +7098,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7015,19 +7151,19 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7077,11 +7213,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
else
@@ -7093,6 +7229,314 @@ fi
;;
esac
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ echo "int foo(void){return 1;}" > conftest.c
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib ${wl}-single_module conftest.c
+ if test -f libconftest.dylib; then
+ lt_cv_apple_cc_single_mod=yes
+ rm -rf libconftest.dylib*
+ fi
+ rm conftest.c
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[0123])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*)
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil="~$DSYMUTIL \$lib || :"
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+
enable_dlopen=no
enable_win32_dll=no
@@ -7158,7 +7602,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
@@ -7168,10 +7612,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -7186,11 +7630,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7189: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7633: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7193: \$? = $ac_status" >&5
+ echo "$as_me:7637: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7203,8 +7647,8 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -7218,8 +7662,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -7450,20 +7894,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works=no
+ lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
@@ -7476,27 +7920,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7479: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7923: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7483: \$? = $ac_status" >&5
+ echo "$as_me:7927: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -7521,12 +7965,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works=no
+ lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -7539,30 +7983,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
else
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
else
lt_prog_compiler_static=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$rm -r conftest 2>/dev/null
@@ -7580,11 +8024,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7583: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8027: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7587: \$? = $ac_status" >&5
+ echo "$as_me:8031: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7606,34 +8050,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
@@ -7664,12 +8108,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -7728,7 +8173,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
@@ -7947,7 +8392,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -7967,7 +8412,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -8062,18 +8507,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8088,12 +8536,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8128,18 +8577,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8154,12 +8606,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8239,11 +8692,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -8612,8 +9064,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
#
@@ -8633,15 +9085,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -8659,7 +9111,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc=no
@@ -8671,16 +9123,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -8763,7 +9215,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -9283,17 +9735,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -9317,8 +9784,8 @@ else
# directories.
hardcode_action=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -9331,13 +9798,13 @@ fi
striplib=
old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
@@ -9345,16 +9812,16 @@ else
if test -n "$STRIP" ; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
;;
*)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
;;
esac
fi
@@ -9386,10 +9853,10 @@ else
darwin*)
# if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9421,33 +9888,37 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9460,10 +9931,10 @@ fi
;;
*)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9516,38 +9987,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
lt_cv_dlopen="shl_load"
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9579,39 +10054,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9664,38 +10143,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
lt_cv_dlopen="dlopen"
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9727,39 +10210,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
@@ -9791,39 +10278,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_svld_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9855,34 +10346,38 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_dld_link=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -9920,10 +10415,10 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
@@ -9931,7 +10426,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9934 "configure"
+#line 10429 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9997,7 +10492,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10015,15 +10510,15 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
@@ -10031,7 +10526,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10034 "configure"
+#line 10529 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10097,7 +10592,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10115,8 +10610,8 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -10138,13 +10633,13 @@ fi
# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -10158,21 +10653,21 @@ aix3*)
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
;;
esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -10214,6 +10709,7 @@ if test -f "$ltmain"; then
predeps \
postdeps \
compiler_lib_search_path \
+ compiler_lib_search_dirs \
archive_cmds \
archive_expsym_cmds \
postinstall_cmds \
@@ -10264,8 +10760,8 @@ if test -f "$ltmain"; then
cfgfile="${ofile}T"
trap "$rm \"$cfgfile\"; exit 1" 1 2 15
$rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ofile" >&5
+$as_echo "$as_me: creating $ofile" >&6;}
cat <<__EOF__ >> "$cfgfile"
#! $SHELL
@@ -10274,7 +10770,7 @@ echo "$as_me: creating $ofile" >&6;}
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -10510,6 +11006,10 @@ predeps=$lt_predeps
# shared library.
postdeps=$lt_postdeps
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path
@@ -10673,18 +11173,18 @@ fi
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
fi
if test -z "$LTCC"; then
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
fi
fi
if test -z "$LTCFLAGS"; then
@@ -10701,16 +11201,16 @@ echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
# Check whether tagname contains only valid characters
case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
"") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+$as_echo "$as_me: error: invalid tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -10758,6 +11258,7 @@ postdep_objects_CXX=
predeps_CXX=
postdeps_CXX=
compiler_lib_search_path_CXX=
+compiler_lib_search_dirs_CXX=
# Source file extension for C++ test sources.
ac_ext=cpp
@@ -10795,7 +11296,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -10852,8 +11353,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -10882,14 +11383,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -10919,19 +11420,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -10943,8 +11444,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -10994,15 +11495,15 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -11015,7 +11516,7 @@ case $host_os in
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
*-brtl*)
@@ -11112,18 +11613,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11138,12 +11642,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11179,18 +11684,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11205,12 +11713,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11273,51 +11782,23 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
archive_cmds_need_lc_CXX=no
hardcode_direct_CXX=no
hardcode_automatic_CXX=yes
hardcode_shlibpath_var_CXX=unsupported
whole_archive_flag_spec_CXX=''
link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ if test "$GXX" = yes ; then
output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
case $cc_basename in
xlc*)
@@ -11568,7 +12049,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
@@ -11968,14 +12449,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
LD_CXX="$LD"
-
cat > conftest.$ac_ext <<EOF
class Foo
{
@@ -11989,7 +12469,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -12077,6 +12557,11 @@ fi
$rm -f confest.$objext
+compiler_lib_search_dirs_CXX=
+if test -n "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
# PORTME: override above test on systems where it is broken
case $host_os in
interix[3-9]*)
@@ -12132,7 +12617,6 @@ solaris*)
;;
esac
-
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
@@ -12141,8 +12625,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -12208,7 +12692,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
@@ -12304,7 +12788,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-fpic'
@@ -12425,20 +12909,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_CXX=no
+ lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
@@ -12451,27 +12935,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12454: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12938: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12458: \$? = $ac_status" >&5
+ echo "$as_me:12942: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -12496,12 +12980,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_CXX=no
+ lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -12514,30 +12998,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
else
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
else
lt_prog_compiler_static_CXX=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
$rm -r conftest 2>/dev/null
@@ -12555,11 +13039,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12558: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13042: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12562: \$? = $ac_status" >&5
+ echo "$as_me:13046: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12581,38 +13065,38 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
@@ -12631,9 +13115,10 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
#
@@ -12653,15 +13138,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -12679,7 +13164,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_CXX=no
@@ -12691,16 +13176,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -12732,7 +13217,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -13251,17 +13736,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -13285,8 +13785,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -13338,6 +13838,7 @@ if test -f "$ltmain"; then
predeps_CXX \
postdeps_CXX \
compiler_lib_search_path_CXX \
+ compiler_lib_search_dirs_CXX \
archive_cmds_CXX \
archive_expsym_cmds_CXX \
postinstall_cmds_CXX \
@@ -13586,6 +14087,10 @@ predeps=$lt_predeps_CXX
# shared library.
postdeps=$lt_postdeps_CXX
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
@@ -13800,7 +14305,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -13819,13 +14324,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -13838,21 +14343,21 @@ aix3*)
postinstall_cmds='$RANLIB $lib'
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
;;
esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -13861,8 +14366,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -14093,20 +14598,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+$as_echo "$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_F77=no
+ lt_cv_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_F77"
@@ -14119,27 +14624,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14122: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14627: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14126: \$? = $ac_status" >&5
+ echo "$as_me:14631: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
+ lt_cv_prog_compiler_pic_works_F77=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; }
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
"" | " "*) ;;
*) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
@@ -14164,12 +14669,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_F77=no
+ lt_cv_prog_compiler_static_works_F77=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -14182,30 +14687,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
else
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; }
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
:
else
lt_prog_compiler_static_F77=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_F77=no
$rm -r conftest 2>/dev/null
@@ -14223,11 +14728,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14226: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14731: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14230: \$? = $ac_status" >&5
+ echo "$as_me:14735: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14249,34 +14754,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -14307,12 +14812,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -14371,7 +14877,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_F77=no
@@ -14590,7 +15096,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -14610,7 +15116,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -14695,18 +15201,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -14721,12 +15230,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14751,18 +15261,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -14777,12 +15290,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14862,11 +15376,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_F77=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -15235,8 +15748,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+$as_echo "$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
#
@@ -15256,15 +15769,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -15282,7 +15795,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_F77=no
@@ -15294,16 +15807,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+$as_echo "$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15335,7 +15848,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15854,17 +16367,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -15888,8 +16416,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+$as_echo "$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -15941,6 +16469,7 @@ if test -f "$ltmain"; then
predeps_F77 \
postdeps_F77 \
compiler_lib_search_path_F77 \
+ compiler_lib_search_dirs_F77 \
archive_cmds_F77 \
archive_expsym_cmds_F77 \
postinstall_cmds_F77 \
@@ -16189,6 +16718,10 @@ predeps=$lt_predeps_F77
# shared library.
postdeps=$lt_postdeps_F77
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_F77
@@ -16363,7 +16896,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -16394,10 +16927,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -16412,11 +16945,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16415: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16948: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16419: \$? = $ac_status" >&5
+ echo "$as_me:16952: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16429,8 +16962,8 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -16444,8 +16977,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16476,7 +17009,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
;;
darwin* | rhapsody*)
@@ -16546,7 +17079,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
;;
hpux9* | hpux10* | hpux11*)
@@ -16676,20 +17209,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+$as_echo "$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_GCJ=no
+ lt_cv_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
@@ -16702,27 +17235,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16705: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17238: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16709: \$? = $ac_status" >&5
+ echo "$as_me:17242: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
+ lt_cv_prog_compiler_pic_works_GCJ=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
"" | " "*) ;;
*) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
@@ -16747,12 +17280,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_GCJ=no
+ lt_cv_prog_compiler_static_works_GCJ=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -16765,30 +17298,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
else
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
:
else
lt_prog_compiler_static_GCJ=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_GCJ=no
$rm -r conftest 2>/dev/null
@@ -16806,11 +17339,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16809: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17342: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16813: \$? = $ac_status" >&5
+ echo "$as_me:17346: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16832,34 +17365,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -16890,12 +17423,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -16954,7 +17488,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_GCJ=no
@@ -17173,7 +17707,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -17193,7 +17727,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -17288,18 +17822,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -17314,12 +17851,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17354,18 +17892,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -17380,12 +17921,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17465,11 +18007,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_GCJ=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -17838,8 +18379,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+$as_echo "$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
#
@@ -17859,15 +18400,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -17885,7 +18426,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_GCJ=no
@@ -17897,16 +18438,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+$as_echo "$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -17938,7 +18479,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -18457,17 +18998,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_GCJ=
if test -n "$hardcode_libdir_flag_spec_GCJ" || \
test -n "$runpath_var_GCJ" || \
@@ -18491,8 +19047,8 @@ else
# directories.
hardcode_action_GCJ=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+$as_echo "$hardcode_action_GCJ" >&6; }
if test "$hardcode_action_GCJ" = relink; then
# Fast installation is not supported
@@ -18544,6 +19100,7 @@ if test -f "$ltmain"; then
predeps_GCJ \
postdeps_GCJ \
compiler_lib_search_path_GCJ \
+ compiler_lib_search_dirs_GCJ \
archive_cmds_GCJ \
archive_expsym_cmds_GCJ \
postinstall_cmds_GCJ \
@@ -18792,6 +19349,10 @@ predeps=$lt_predeps_GCJ
# shared library.
postdeps=$lt_postdeps_GCJ
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
@@ -18965,7 +19526,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -19025,6 +19586,7 @@ if test -f "$ltmain"; then
predeps_RC \
postdeps_RC \
compiler_lib_search_path_RC \
+ compiler_lib_search_dirs_RC \
archive_cmds_RC \
archive_expsym_cmds_RC \
postinstall_cmds_RC \
@@ -19273,6 +19835,10 @@ predeps=$lt_predeps_RC
# shared library.
postdeps=$lt_postdeps_RC
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_RC
@@ -19405,8 +19971,8 @@ CC="$lt_save_CC"
;;
*)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
@@ -19425,8 +19991,8 @@ echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
chmod +x "$ofile"
else
rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+ { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -19466,10 +20032,10 @@ for ac_prog in gm4 m4
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_M4+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$M4"; then
ac_cv_prog_M4="$M4" # Let the user override the test.
@@ -19482,7 +20048,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_M4="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19493,11 +20059,11 @@ fi
fi
M4=$ac_cv_prog_M4
if test -n "$M4"; then
- { echo "$as_me:$LINENO: result: $M4" >&5
-echo "${ECHO_T}$M4" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $M4" >&5
+$as_echo "$M4" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19507,18 +20073,18 @@ test -n "$M4" || M4="m4"
if test "$M4" = "m4"; then
- { echo "$as_me:$LINENO: checking whether m4 is GNU m4" >&5
-echo $ECHO_N "checking whether m4 is GNU m4... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether m4 is GNU m4" >&5
+$as_echo_n "checking whether m4 is GNU m4... " >&6; }
if $M4 --version </dev/null 2>/dev/null | grep '^GNU m4 ' >/dev/null ; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if test "$host_vendor" = "sun"; then
- { { echo "$as_me:$LINENO: error: SUN m4 does not work for building gtkmm.
+ { { $as_echo "$as_me:$LINENO: error: SUN m4 does not work for building gtkmm.
Please install GNU m4." >&5
-echo "$as_me: error: SUN m4 does not work for building gtkmm.
+$as_echo "$as_me: error: SUN m4 does not work for building gtkmm.
Please install GNU m4." >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -19527,18 +20093,18 @@ fi
-{ echo "$as_me:$LINENO: checking whether make is GNU Make" >&5
-echo $ECHO_N "checking whether make is GNU Make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether make is GNU Make" >&5
+$as_echo_n "checking whether make is GNU Make... " >&6; }
if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if test "$host_vendor" = "sun" ; then
- { { echo "$as_me:$LINENO: error: SUN make does not work for building gtkmm.
+ { { $as_echo "$as_me:$LINENO: error: SUN make does not work for building gtkmm.
Please install GNU make." >&5
-echo "$as_me: error: SUN make does not work for building gtkmm.
+$as_echo "$as_me: error: SUN make does not work for building gtkmm.
Please install GNU make." >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -19556,10 +20122,10 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -19574,7 +20140,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19586,11 +20152,11 @@ esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
- { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19599,10 +20165,10 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -19617,7 +20183,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19629,11 +20195,11 @@ esac
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
if test -n "$ac_pt_PKG_CONFIG"; then
- { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_pt_PKG_CONFIG" = x; then
@@ -19641,12 +20207,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
PKG_CONFIG=$ac_pt_PKG_CONFIG
@@ -19658,31 +20220,31 @@ fi
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
- { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
PKG_CONFIG=""
fi
fi
pkg_failed=no
-{ echo "$as_me:$LINENO: checking for GLIBMM" >&5
-echo $ECHO_N "checking for GLIBMM... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for GLIBMM" >&5
+$as_echo_n "checking for GLIBMM... " >&6; }
if test -n "$GLIBMM_CFLAGS"; then
pkg_cv_GLIBMM_CFLAGS="$GLIBMM_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \${gtkmm_min_glib_version} gobject-2.0 >= \${gtkmm_min_glib_version} gmodule-2.0 >= \${gtkmm_min_glib_version}\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \${gtkmm_min_glib_version} gobject-2.0 >= \${gtkmm_min_glib_version} gmodule-2.0 >= \${gtkmm_min_glib_version}\"") >&5
($PKG_CONFIG --exists --print-errors "glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_GLIBMM_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}" 2>/dev/null`
else
@@ -19695,10 +20257,10 @@ if test -n "$GLIBMM_LIBS"; then
pkg_cv_GLIBMM_LIBS="$GLIBMM_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \${gtkmm_min_glib_version} gobject-2.0 >= \${gtkmm_min_glib_version} gmodule-2.0 >= \${gtkmm_min_glib_version}\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \${gtkmm_min_glib_version} gobject-2.0 >= \${gtkmm_min_glib_version} gmodule-2.0 >= \${gtkmm_min_glib_version}\"") >&5
($PKG_CONFIG --exists --print-errors "glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_GLIBMM_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}" 2>/dev/null`
else
@@ -19725,7 +20287,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$GLIBMM_PKG_ERRORS" >&5
- { { echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}) were not met:
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}) were not met:
$GLIBMM_PKG_ERRORS
@@ -19736,7 +20298,7 @@ Alternatively, you may set the environment variables GLIBMM_CFLAGS
and GLIBMM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-echo "$as_me: error: Package requirements (glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}) were not met:
+$as_echo "$as_me: error: Package requirements (glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version}) were not met:
$GLIBMM_PKG_ERRORS
@@ -19749,7 +20311,9 @@ See the pkg-config man page for more details.
" >&2;}
{ (exit 1); exit 1; }; }
elif test $pkg_failed = untried; then
- { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -19759,7 +20323,7 @@ See the pkg-config man page for more details.
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -19769,12 +20333,12 @@ See the pkg-config man page for more details.
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
GLIBMM_CFLAGS=$pkg_cv_GLIBMM_CFLAGS
GLIBMM_LIBS=$pkg_cv_GLIBMM_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
@@ -19783,17 +20347,17 @@ fi
# gthread isn't a requirement, but we should use its CFLAGS if available.
pkg_failed=no
-{ echo "$as_me:$LINENO: checking for GTHREAD" >&5
-echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for GTHREAD" >&5
+$as_echo_n "checking for GTHREAD... " >&6; }
if test -n "$GTHREAD_CFLAGS"; then
pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \${gtkmm_min_glib_version}\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \${gtkmm_min_glib_version}\"") >&5
($PKG_CONFIG --exists --print-errors "gthread-2.0 >= ${gtkmm_min_glib_version}") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= ${gtkmm_min_glib_version}" 2>/dev/null`
else
@@ -19806,10 +20370,10 @@ if test -n "$GTHREAD_LIBS"; then
pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \${gtkmm_min_glib_version}\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \${gtkmm_min_glib_version}\"") >&5
($PKG_CONFIG --exists --print-errors "gthread-2.0 >= ${gtkmm_min_glib_version}") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 >= ${gtkmm_min_glib_version}" 2>/dev/null`
else
@@ -19836,16 +20400,16 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$GTHREAD_PKG_ERRORS" >&5
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
elif test $pkg_failed = untried; then
GTHREAD_CFLAGS=''; GTHREAD_LIBS=''
else
GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS
GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
@@ -19869,10 +20433,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -19885,7 +20449,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19896,11 +20460,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19913,10 +20477,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -19929,7 +20493,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19940,11 +20504,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19956,12 +20520,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -19971,43 +20531,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20033,20 +20597,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -20056,15 +20621,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -20091,20 +20660,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -20129,20 +20699,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -20168,20 +20739,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -20196,8 +20768,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -20221,10 +20793,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -20312,8 +20884,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -20336,8 +20908,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking if C++ compiler supports bool" >&5
-echo $ECHO_N "checking if C++ compiler supports bool... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler supports bool" >&5
+$as_echo_n "checking if C++ compiler supports bool... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20365,31 +20937,32 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cxx_bool=yes
- { echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
-echo "${ECHO_T}$ac_cxx_bool" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
+$as_echo "$ac_cxx_bool" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_bool=no
- { echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
-echo "${ECHO_T}$ac_cxx_bool" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_bool" >&5
+$as_echo "$ac_cxx_bool" >&6; }
config_error=yes
fi
@@ -20397,8 +20970,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking if C++ compiler supports namespaces" >&5
-echo $ECHO_N "checking if C++ compiler supports namespaces... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler supports namespaces" >&5
+$as_echo_n "checking if C++ compiler supports namespaces... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20426,31 +20999,32 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cxx_namespaces=yes
- { echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
-echo "${ECHO_T}$ac_cxx_namespaces" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
+$as_echo "$ac_cxx_namespaces" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_namespaces=no
- { echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
-echo "${ECHO_T}$ac_cxx_namespaces" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_namespaces" >&5
+$as_echo "$ac_cxx_namespaces" >&6; }
config_error=yes
fi
@@ -20458,8 +21032,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking if C++ compiler supports mutable" >&5
-echo $ECHO_N "checking if C++ compiler supports mutable... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler supports mutable" >&5
+$as_echo_n "checking if C++ compiler supports mutable... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20488,31 +21062,32 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cxx_mutable=yes
- { echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
-echo "${ECHO_T}$ac_cxx_mutable" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
+$as_echo "$ac_cxx_mutable" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_mutable=no
- { echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
-echo "${ECHO_T}$ac_cxx_mutable" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cxx_mutable" >&5
+$as_echo "$ac_cxx_mutable" >&6; }
config_error=yes
fi
@@ -20520,23 +21095,23 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking if C++ environment provides all required features" >&5
-echo $ECHO_N "checking if C++ environment provides all required features... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ environment provides all required features" >&5
+$as_echo_n "checking if C++ environment provides all required features... " >&6; }
if test "x$config_error" = xyes ; then
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { { echo "$as_me:$LINENO: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&5
-echo "$as_me: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&2;}
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:$LINENO: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&5
+$as_echo "$as_me: error: Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed." >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
- { echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
-echo $ECHO_N "checking whether C++ library symbols are declared in namespace std... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
+$as_echo_n "checking whether C++ library symbols are declared in namespace std... " >&6; }
if test "${gtkmm_cv_cxx_has_namespace_std+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20573,20 +21148,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gtkmm_cv_cxx_has_namespace_std="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
gtkmm_cv_cxx_has_namespace_std="no"
@@ -20596,8 +21172,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_namespace_std" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_namespace_std" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_namespace_std" >&5
+$as_echo "$gtkmm_cv_cxx_has_namespace_std" >&6; }
if test "x${gtkmm_cv_cxx_has_namespace_std}" = "xyes"; then
{
@@ -20612,10 +21188,10 @@ _ACEOF
- { echo "$as_me:$LINENO: checking whether the C++ library supports std::iterator_traits" >&5
-echo $ECHO_N "checking whether the C++ library supports std::iterator_traits... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the C++ library supports std::iterator_traits" >&5
+$as_echo_n "checking whether the C++ library supports std::iterator_traits... " >&6; }
if test "${gtkmm_cv_cxx_has_std_iterator_traits+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20646,20 +21222,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gtkmm_cv_cxx_has_std_iterator_traits="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
gtkmm_cv_cxx_has_std_iterator_traits="no"
@@ -20669,8 +21246,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_std_iterator_traits" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_std_iterator_traits" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_std_iterator_traits" >&5
+$as_echo "$gtkmm_cv_cxx_has_std_iterator_traits" >&6; }
if test "x${gtkmm_cv_cxx_has_std_iterator_traits}" = "xyes"; then
{
@@ -20685,10 +21262,10 @@ _ACEOF
- { echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
-echo $ECHO_N "checking for non-standard Sun libCstd reverse_iterator... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
+$as_echo_n "checking for non-standard Sun libCstd reverse_iterator... " >&6; }
if test "${gtkmm_cv_cxx_has_sun_reverse_iterator+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20719,20 +21296,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gtkmm_cv_cxx_has_sun_reverse_iterator="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
gtkmm_cv_cxx_has_sun_reverse_iterator="no"
@@ -20742,8 +21320,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_sun_reverse_iterator" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_sun_reverse_iterator" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_sun_reverse_iterator" >&5
+$as_echo "$gtkmm_cv_cxx_has_sun_reverse_iterator" >&6; }
if test "x${gtkmm_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
{
@@ -20758,10 +21336,10 @@ _ACEOF
- { echo "$as_me:$LINENO: checking whether STL containers have templated sequence constructors" >&5
-echo $ECHO_N "checking whether STL containers have templated sequence constructors... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether STL containers have templated sequence constructors" >&5
+$as_echo_n "checking whether STL containers have templated sequence constructors... " >&6; }
if test "${gtkmm_cv_cxx_has_template_sequence_ctors+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20798,20 +21376,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gtkmm_cv_cxx_has_template_sequence_ctors="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
gtkmm_cv_cxx_has_template_sequence_ctors="no"
@@ -20821,8 +21400,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_template_sequence_ctors" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_template_sequence_ctors" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_template_sequence_ctors" >&5
+$as_echo "$gtkmm_cv_cxx_has_template_sequence_ctors" >&6; }
if test "x${gtkmm_cv_cxx_has_template_sequence_ctors}" = "xyes"; then
{
@@ -20835,8 +21414,8 @@ _ACEOF
fi
-{ echo "$as_me:$LINENO: checking if C++ compiler allows member functions to refer to member templates" >&5
-echo $ECHO_N "checking if C++ compiler allows member functions to refer to member templates... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler allows member functions to refer to member templates" >&5
+$as_echo_n "checking if C++ compiler allows member functions to refer to member templates... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20890,13 +21469,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -20908,11 +21488,11 @@ cat >>confdefs.h <<\_ACEOF
#define GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES 1
_ACEOF
- { echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
-echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
+$as_echo "$glibmm_cxx_member_functions_member_templates" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -20921,8 +21501,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
#define GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES 0
_ACEOF
- { echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
-echo "${ECHO_T}$glibmm_cxx_member_functions_member_templates" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $glibmm_cxx_member_functions_member_templates" >&5
+$as_echo "$glibmm_cxx_member_functions_member_templates" >&6; }
fi
@@ -20931,10 +21511,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: checking whether the compiler finds it ambiguous to have both const and non-const template specializations" >&5
-echo $ECHO_N "checking whether the compiler finds it ambiguous to have both const and non-const template specializations... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the compiler finds it ambiguous to have both const and non-const template specializations" >&5
+$as_echo_n "checking whether the compiler finds it ambiguous to have both const and non-const template specializations... " >&6; }
if test "${glibmm_cv_cxx_can_disambiguate_const_template_specializations+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20995,20 +21575,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
glibmm_cv_cxx_can_disambiguate_const_template_specializations="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
glibmm_cv_cxx_can_disambiguate_const_template_specializations="no"
@@ -21018,8 +21599,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&5
+$as_echo "$glibmm_cv_cxx_can_disambiguate_const_template_specializations" >&6; }
if test "x${glibmm_cv_cxx_can_disambiguate_const_template_specializations}" = "xyes"; then
{
@@ -21032,10 +21613,10 @@ _ACEOF
fi
- { echo "$as_me:$LINENO: checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined" >&5
-echo $ECHO_N "checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined" >&5
+$as_echo_n "checking whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined... " >&6; }
if test "${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -21078,20 +21659,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="no"
@@ -21101,8 +21683,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&5
+$as_echo "$glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition" >&6; }
if test "x${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition}" = "xyes"; then
{
@@ -21115,10 +21697,10 @@ _ACEOF
fi
- { echo "$as_me:$LINENO: checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer." >&5
-echo $ECHO_N "checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer.... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer." >&5
+$as_echo_n "checking whether the the compilerallows us to use a non-extern \"C\" function for an extern \"C\" function pointer.... " >&6; }
if test "${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -21159,20 +21741,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="no"
@@ -21182,8 +21765,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&5
+$as_echo "$glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks" >&6; }
if test "x${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks}" = "xyes"; then
{
@@ -21196,10 +21779,10 @@ _ACEOF
fi
- { echo "$as_me:$LINENO: checking whether the compiler uses namespace declarations inside extern \"C\" blocks." >&5
-echo $ECHO_N "checking whether the compiler uses namespace declarations inside extern \"C\" blocks.... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the compiler uses namespace declarations inside extern \"C\" blocks." >&5
+$as_echo_n "checking whether the compiler uses namespace declarations inside extern \"C\" blocks.... " >&6; }
if test "${glibmm_cv_cxx_can_use_namespaces_inside_externc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -21254,20 +21837,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
glibmm_cv_cxx_can_use_namespaces_inside_externc="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
glibmm_cv_cxx_can_use_namespaces_inside_externc="no"
@@ -21277,8 +21861,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_namespaces_inside_externc" >&5
-echo "${ECHO_T}$glibmm_cv_cxx_can_use_namespaces_inside_externc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $glibmm_cv_cxx_can_use_namespaces_inside_externc" >&5
+$as_echo "$glibmm_cv_cxx_can_use_namespaces_inside_externc" >&6; }
if test "x${glibmm_cv_cxx_can_use_namespaces_inside_externc}" = "xyes"; then
{
@@ -21293,10 +21877,10 @@ _ACEOF
- { echo "$as_me:$LINENO: checking whether the compiler allows a static member variable to be initialized inline to std::string::npos" >&5
-echo $ECHO_N "checking whether the compiler allows a static member variable to be initialized inline to std::string::npos... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the compiler allows a static member variable to be initialized inline to std::string::npos" >&5
+$as_echo_n "checking whether the compiler allows a static member variable to be initialized inline to std::string::npos... " >&6; }
if test "${gtkmm_cv_cxx_has_allows_static_inline_npos+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -21333,20 +21917,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gtkmm_cv_cxx_has_allows_static_inline_npos="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
gtkmm_cv_cxx_has_allows_static_inline_npos="no"
@@ -21356,8 +21941,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_allows_static_inline_npos" >&5
-echo "${ECHO_T}$gtkmm_cv_cxx_has_allows_static_inline_npos" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gtkmm_cv_cxx_has_allows_static_inline_npos" >&5
+$as_echo "$gtkmm_cv_cxx_has_allows_static_inline_npos" >&6; }
if test "x${gtkmm_cv_cxx_has_allows_static_inline_npos}" = "xyes"; then
{
@@ -21401,8 +21986,8 @@ else
fi
- { echo "$as_me:$LINENO: checking for compiler warning flags to use" >&5
-echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for compiler warning flags to use" >&5
+$as_echo_n "checking for compiler warning flags to use... " >&6; }
gtkmm_warning_flags=''
@@ -21446,8 +22031,8 @@ echo $ECHO_N "checking for compiler warning flags to use... $ECHO_C" >&6; }
gtkmm_use_flags='none'
fi
- { echo "$as_me:$LINENO: result: $gtkmm_use_flags" >&5
-echo "${ECHO_T}$gtkmm_use_flags" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $gtkmm_use_flags" >&5
+$as_echo "$gtkmm_use_flags" >&6; }
# Dummy conditional just to make automake-1.4 happy.
@@ -21495,11 +22080,12 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -21532,12 +22118,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -21553,7 +22139,7 @@ ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -21565,54 +22151,55 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${GTKMM_FALSE_TRUE}" && test -z "${GTKMM_FALSE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GTKMM_FALSE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"GTKMM_FALSE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GTKMM_FALSE\" was never defined.
+$as_echo "$as_me: error: conditional \"GTKMM_FALSE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -21625,7 +22212,7 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -21635,7 +22222,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -21657,17 +22244,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -21683,8 +22298,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -21707,7 +22320,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -21720,17 +22333,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -21752,7 +22358,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -21803,7 +22409,7 @@ $as_unset CDPATH
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -21831,7 +22437,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -21844,19 +22449,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -21881,10 +22489,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -21907,7 +22515,7 @@ exec 6>&1
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -21920,7 +22528,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
@@ -21928,22 +22545,23 @@ config_commands="$ac_config_commands"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -21957,13 +22575,13 @@ $config_commands
Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -21971,11 +22589,12 @@ ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
@@ -21997,30 +22616,36 @@ do
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
+ $as_echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
+ { $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; };;
--help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
@@ -22039,27 +22664,29 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ exec "\$@"
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- echo "$ac_log"
+ $as_echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
@@ -22067,7 +22694,7 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
@@ -22079,8 +22706,8 @@ do
"glibmm-2.4.pc") CONFIG_FILES="$CONFIG_FILES glibmm-2.4.pc" ;;
"glibmm/Makefile") CONFIG_FILES="$CONFIG_FILES glibmm/Makefile" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
@@ -22121,227 +22748,144 @@ $debug ||
(umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-GLIBMM_MAJOR_VERSION!$GLIBMM_MAJOR_VERSION$ac_delim
-GLIBMM_MINOR_VERSION!$GLIBMM_MINOR_VERSION$ac_delim
-GLIBMM_MICRO_VERSION!$GLIBMM_MICRO_VERSION$ac_delim
-GLIBMM_VERSION!$GLIBMM_VERSION$ac_delim
-GLIBMM_RELEASE!$GLIBMM_RELEASE$ac_delim
-LIBGLIBMM_SO_VERSION!$LIBGLIBMM_SO_VERSION$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CPP!$CPP$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ac_cr='
'
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-M4!$M4$ac_delim
-PKG_CONFIG!$PKG_CONFIG$ac_delim
-GLIBMM_CFLAGS!$GLIBMM_CFLAGS$ac_delim
-GLIBMM_LIBS!$GLIBMM_LIBS$ac_delim
-GTHREAD_CFLAGS!$GTHREAD_CFLAGS$ac_delim
-GTHREAD_LIBS!$GTHREAD_LIBS$ac_delim
-GTKMM_FALSE_TRUE!$GTKMM_FALSE_TRUE$ac_delim
-GTKMM_FALSE_FALSE!$GTKMM_FALSE_FALSE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
+rm -f conf$$subs.sh
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACAWK
_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
_ACEOF
-
# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
@@ -22357,19 +22901,133 @@ s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -22398,26 +23056,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
{ (exit 1); exit 1; }; };;
esac
- ac_file_inputs="$ac_file_inputs $ac_f"
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
esac
;;
esac
@@ -22427,7 +23097,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22453,7 +23123,7 @@ echo X"$ac_file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -22462,7 +23132,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22483,17 +23153,17 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -22538,12 +23208,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
p
q
}
@@ -22552,13 +23223,14 @@ case `sed -n '/datarootdir/ {
/@infodir@/p
/@localedir@/p
/@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
@@ -22572,15 +23244,16 @@ _ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -22591,121 +23264,60 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
;;
:H)
#
# CONFIG_HEADER
#
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
fi
else
- echo "/* $configure_input */"
- cat "$ac_result"
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
@@ -22720,7 +23332,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
+$as_echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22740,8 +23352,8 @@ echo X"$_am_arg" |
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
@@ -22763,7 +23375,7 @@ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22807,7 +23419,7 @@ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
+$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22833,7 +23445,7 @@ echo X"$file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -22842,7 +23454,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22863,8 +23475,8 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
@@ -22881,6 +23493,11 @@ _ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -22902,5 +23519,9 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
diff --git a/libs/glibmm2/glibmm/Makefile.in b/libs/glibmm2/glibmm/Makefile.in
index dc59f08..66e4042 100644
--- a/libs/glibmm2/glibmm/Makefile.in
+++ b/libs/glibmm2/glibmm/Makefile.in
@@ -103,6 +103,7 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -137,6 +138,7 @@ M4 = @M4@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -201,6 +203,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS =
diff --git a/libs/glibmm2/scripts/config.guess b/libs/glibmm2/scripts/config.guess
index 951383e..f32079a 100755
--- a/libs/glibmm2/scripts/config.guess
+++ b/libs/glibmm2/scripts/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 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2008-01-23'
# 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
@@ -56,8 +56,8 @@ 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
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -330,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -532,7 +532,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[456])
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
@@ -793,12 +793,15 @@ EOF
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
- x86)
+ x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
@@ -1474,9 +1484,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/libs/glibmm2/scripts/config.sub b/libs/glibmm2/scripts/config.sub
index c060f44..6759825 100755
--- a/libs/glibmm2/scripts/config.sub
+++ b/libs/glibmm2/scripts/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 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@ 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
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -369,10 +369,14 @@ case $basic_machine in
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -443,6 +447,14 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16c)
- basic_machine=cr16c-unknown
+ cr16)
+ basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -813,6 +833,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -1021,6 +1049,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
diff --git a/libs/glibmm2/scripts/install-sh b/libs/glibmm2/scripts/install-sh
index 4d4a951..a5897de 100755
--- a/libs/glibmm2/scripts/install-sh
+++ b/libs/glibmm2/scripts/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2005-05-14.22
+scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,38 +39,68 @@ scriptversion=2005-05-14.22
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
-chmodcmd="$chmodprog 0755"
-chowncmd=
chgrpcmd=
-stripcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
src=
dst=
dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
no_target_directory=
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -80,81 +110,86 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
"
-while test -n "$1"; do
+while test $# -ne 0; do
case $1 in
- -c) shift
- continue;;
+ -c) ;;
+
+ -C) copy_on_change=true;;
- -d) dir_arg=true
- shift
- continue;;
+ -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
+ shift;;
--help) echo "$usage"; exit $?;;
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
+ shift;;
- -s) stripcmd=$stripprog
- shift
- continue;;
+ -s) stripcmd=$stripprog;;
- -t) dstarg=$2
- shift
- shift
- continue;;
+ -t) dst_arg=$2
+ shift;;
- -T) no_target_directory=true
- shift
- continue;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
+ --) shift
break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
esac
+ shift
done
-if test -z "$1"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
@@ -164,24 +199,47 @@ if test -z "$1"; then
exit 0
fi
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
for src
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src ;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
else
+
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
@@ -190,71 +248,199 @@ do
exit 1
fi
- if test -z "$dstarg"; then
+ if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dstarg
+ dst=$dst_arg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst ;;
+ -*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
+ echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
- dst=$dst/`basename "$src"`
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
fi
fi
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
- # Make sure that the destination directory exists.
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
- pathcomp=
+ eval "$initialize_posix_glob"
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
- pathcomp=$pathcomp/
- done
+ fi
fi
if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
- dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
@@ -262,10 +448,9 @@ do
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -273,48 +458,59 @@ do
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- }
- }
- fi || { (exit 1); exit 1; }
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
done
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
-
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
diff --git a/libs/glibmm2/scripts/ltmain.sh b/libs/glibmm2/scripts/ltmain.sh
index 8e5a930..2bcb848 100644
--- a/libs/glibmm2/scripts/ltmain.sh
+++ b/libs/glibmm2/scripts/ltmain.sh
@@ -2,7 +2,7 @@
# NOTE: Changing this file will not affect anything until you rerun configure.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007 Free Software Foundation, Inc.
+# 2007, 2008 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
@@ -43,8 +43,8 @@ EXIT_FAILURE=1
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.5.24
-TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+VERSION=1.5.26
+TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -113,15 +113,21 @@ esac
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
# We save the old values to restore during execute mode.
-for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+lt_env=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${$lt_var+set}\" = set; then
save_$lt_var=\$$lt_var
+ lt_env=\"$lt_var=\$$lt_var \$lt_env\"
$lt_var=C
export $lt_var
fi"
done
+if test -n "$lt_env"; then
+ lt_env="env $lt_env"
+fi
+
# Make sure IFS has a sensible default
lt_nl='
'
@@ -485,7 +491,7 @@ do
echo "\
$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-Copyright (C) 2007 Free Software Foundation, Inc.
+Copyright (C) 2008 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."
exit $?
@@ -788,6 +794,7 @@ if test -z "$show_help"; then
*.for) xform=for ;;
*.java) xform=java ;;
*.obj) xform=obj ;;
+ *.sx) xform=sx ;;
esac
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -956,7 +963,7 @@ EOF
$run $rm "$lobj" "$output_obj"
$show "$command"
- if $run eval "$command"; then :
+ if $run eval $lt_env "$command"; then :
else
test -n "$output_obj" && $run $rm $removelist
exit $EXIT_FAILURE
@@ -1028,7 +1035,7 @@ EOF
command="$command$suppress_output"
$run $rm "$obj" "$output_obj"
$show "$command"
- if $run eval "$command"; then :
+ if $run eval $lt_env "$command"; then :
else
$run $rm $removelist
exit $EXIT_FAILURE
@@ -1161,6 +1168,7 @@ EOF
thread_safe=no
vinfo=
vinfo_number=no
+ single_module="${wl}-single_module"
func_infer_tag $base_compile
@@ -1646,6 +1654,11 @@ EOF
continue
;;
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
-module)
module=yes
continue
@@ -2149,7 +2162,12 @@ EOF
continue
fi
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
lib="$searchdir/lib${name}${search_ext}"
@@ -2945,12 +2963,18 @@ EOF
# we do not want to link against static libs,
# but need to link against shared
eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
if test -n "$deplibrary_names" ; then
for tmp in $deplibrary_names ; do
depdepl=$tmp
done
- if test -f "$path/$depdepl" ; then
+ if test -f "$deplibdir/$depdepl" ; then
+ depdepl="$deplibdir/$depdepl"
+ elif test -f "$path/$depdepl" ; then
depdepl="$path/$depdepl"
+ else
+ # Can't find it, oh well...
+ depdepl=
fi
# do not add paths which are already there
case " $newlib_search_path " in
@@ -3098,9 +3122,10 @@ EOF
case $linkmode in
oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
+ esac
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
@@ -4237,9 +4262,10 @@ EOF
;;
obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
+ esac
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
@@ -6478,7 +6504,7 @@ relink_command=\"$relink_command\""
fi
# Restore saved environment variables
- for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${save_$lt_var+set}\" = set; then
$lt_var=\$save_$lt_var; export $lt_var
diff --git a/libs/glibmm2/scripts/missing b/libs/glibmm2/scripts/missing
index 894e786..1c8ff70 100755
--- a/libs/glibmm2/scripts/missing
+++ b/libs/glibmm2/scripts/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
@@ -33,6 +33,8 @@ if test $# -eq 0; then
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@ fi
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@ Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@ esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@ WARNING: \`$1' is $msg. You should only need it if
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@ WARNING: \`$1' is needed, but is $msg.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@ WARNING: \`$1' $msg. You should only need it if
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@ WARNING: \`$1' is $msg. You should only need it if
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@ WARNING: \`$1' is $msg. You should only need it if
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@ WARNING: \`$1' is $msg. You should only need it if
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@ WARNING: \`$1' is $msg. You should only need it if
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff --git a/libs/gtkmm2ext/gtkmm2ext/utils.h b/libs/gtkmm2ext/gtkmm2ext/utils.h
index ca1b88a..7f986e7 100644
--- a/libs/gtkmm2ext/gtkmm2ext/utils.h
+++ b/libs/gtkmm2ext/gtkmm2ext/utils.h
@@ -36,15 +36,31 @@ namespace Gtk {
namespace Gtkmm2ext {
void init ();
- void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>, int& width, int& height);
+ void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>,
+ int& width, int& height);
void set_size_request_to_display_given_text (Gtk::Widget &w,
const gchar *text,
gint hpadding,
gint vpadding);
- void set_popdown_strings (Gtk::ComboBoxText&, const std::vector<std::string>&);
-
+ void set_size_request_to_display_given_text (Gtk::Widget &w,
+ const std::vector<std::string>&,
+ gint hpadding,
+ gint vpadding);
+
+ void set_popdown_strings (Gtk::ComboBoxText&,
+ const std::vector<std::string>&,
+ bool set_size = false,
+ gint hpadding = 0, gint vpadding = 0);
+
+ // Combo's are stupid - they steal space from the entry for the button
+#ifdef GTKOSX
+ static const guint32 COMBO_FUDGE = 38;
+#else
+ static const guint32 COMBO_FUDGE = 24;
+#endif
+
template<class T> void deferred_delete (void *ptr) {
delete static_cast<T *> (ptr);
}
diff --git a/libs/gtkmm2ext/sync-menu.c b/libs/gtkmm2ext/sync-menu.c
index 894446c..3b93436 100644
--- a/libs/gtkmm2ext/sync-menu.c
+++ b/libs/gtkmm2ext/sync-menu.c
@@ -313,6 +313,7 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
gint n_keys;
gint use_command;
gboolean add_modifiers = FALSE;
+ UInt8 modifiers = 0; /* implies Command key */
if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key,
&keys, &n_keys) == 0)
@@ -347,16 +348,20 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
}
} else {
- SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
- true, keys[0].keycode);
+
+ SetMenuItemCommandKey (carbon_item->menu, carbon_item->index, true, keys[0].keycode);
+ if (keys[0].level == 1)
+ {
+ /* regular key, but it needs shift to make it work */
+ modifiers |= kMenuShiftModifier;
+ }
+
g_free (keys);
- add_modifiers = TRUE;
+ add_modifiers = TRUE;
}
if (add_modifiers)
{
- UInt8 modifiers = 0; /* implies Command key */
-
use_command = 0;
if (key->accel_mods)
@@ -387,7 +392,6 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
modifiers);
-
return;
}
}
@@ -589,7 +593,7 @@ menu_event_handler_func (EventHandlerCallRef event_handler_call_ref,
sizeof (widget), 0, &widget);
if (err == noErr && GTK_IS_WIDGET (widget))
{
- g_idle_add (dummy_gtk_menu_item_activate, widget);
+ g_idle_add ((GSourceFunc) dummy_gtk_menu_item_activate, widget);
// gtk_menu_item_activate (GTK_MENU_ITEM (widget));
_in_carbon_menu_event_handler = 0;
return noErr;
diff --git a/libs/gtkmm2ext/utils.cc b/libs/gtkmm2ext/utils.cc
index 14523be..ca4658a 100644
--- a/libs/gtkmm2ext/utils.cc
+++ b/libs/gtkmm2ext/utils.cc
@@ -15,7 +15,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: utils.cc 2212 2007-08-01 16:19:42Z paul $
+ $Id: utils.cc 4829 2009-03-13 13:01:23Z paul $
*/
#include <iostream>
@@ -59,6 +59,25 @@ Gtkmm2ext::set_size_request_to_display_given_text (Gtk::Widget &w, const gchar *
}
void
+Gtkmm2ext::set_size_request_to_display_given_text (Gtk::Widget &w,
+ const std::vector<std::string>& strings,
+ gint hpadding, gint vpadding)
+
+{
+ int width, height;
+ int width_max = 0;
+ int height_max = 0;
+ w.ensure_style ();
+
+ for (vector<string>::const_iterator i = strings.begin(); i != strings.end(); ++i) {
+ get_ink_pixel_size (w.create_pango_layout (*i), width, height);
+ width_max = max(width_max,width);
+ height_max = max(height_max, height);
+ }
+ w.set_size_request(width_max + hpadding, height_max + vpadding);
+}
+
+void
Gtkmm2ext::init ()
{
// Necessary for gettext
@@ -66,11 +85,36 @@ Gtkmm2ext::init ()
}
void
-Gtkmm2ext::set_popdown_strings (Gtk::ComboBoxText& cr, const vector<string>& strings)
+Gtkmm2ext::set_popdown_strings (Gtk::ComboBoxText& cr, const vector<string>& strings, bool set_size, gint hpadding, gint vpadding)
{
+ vector<string>::const_iterator i;
+
cr.clear ();
- for (vector<string>::const_iterator i = strings.begin(); i != strings.end(); ++i) {
+ if (set_size) {
+ vector<string> copy;
+
+ for (i = strings.begin(); i != strings.end(); ++i) {
+ if ((*i).find_first_of ("gy") != string::npos) {
+ /* contains a descender */
+ break;
+ }
+ }
+
+ if (i == strings.end()) {
+
+ /* make a copy of the strings then add one that has a descener */
+
+ copy = strings;
+ copy.push_back ("g");
+ set_size_request_to_display_given_text (cr, copy, COMBO_FUDGE+10+hpadding, 15+vpadding);
+
+ } else {
+ set_size_request_to_display_given_text (cr, strings, COMBO_FUDGE+10+hpadding, 15+vpadding);
+ }
+ }
+
+ for (i = strings.begin(); i != strings.end(); ++i) {
cr.append_text (*i);
}
}
diff --git a/libs/libsndfile/src/config.h b/libs/libsndfile/src/config.h
index 5f18857..f17be94 100644
--- a/libs/libsndfile/src/config.h
+++ b/libs/libsndfile/src/config.h
@@ -5,7 +5,7 @@
#define COMPILER_IS_GCC 1
/* Target processor clips on negative float to int conversion. */
-#define CPU_CLIPS_NEGATIVE 1
+#define CPU_CLIPS_NEGATIVE 0
/* Target processor clips on positive float to int conversion. */
#define CPU_CLIPS_POSITIVE 0
@@ -200,19 +200,19 @@
#define SIZEOF_INT64_T 8
/* The size of a `loff_t', as computed by sizeof. */
-#define SIZEOF_LOFF_T 8
+/* #undef SIZEOF_LOFF_T */
/* The size of a `long', as computed by sizeof. */
-#define SIZEOF_LONG 4
+#define SIZEOF_LONG 8
/* The size of a `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of a `off64_t', as computed by sizeof. */
-#define SIZEOF_OFF64_T 0
+/* #undef SIZEOF_OFF64_T */
/* The size of a `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 4
+#define SIZEOF_OFF_T 8
/* Set to sizeof (long) if unknown. */
#define SIZEOF_SF_COUNT_T 8
@@ -221,28 +221,28 @@
#define SIZEOF_SHORT 2
/* The size of a `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 4
+#define SIZEOF_SIZE_T 8
/* The size of a `ssize_t', as computed by sizeof. */
-#define SIZEOF_SSIZE_T 4
+#define SIZEOF_SSIZE_T 8
/* The size of a `void*', as computed by sizeof. */
-#define SIZEOF_VOIDP 4
+#define SIZEOF_VOIDP 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Set to long if unknown. */
-#define TYPEOF_SF_COUNT_T loff_t
+#define TYPEOF_SF_COUNT_T off_t
/* Set to 1 to use the native windows API */
#define USE_WINDOWS_API 0
/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
+/* #undef _FILE_OFFSET_BITS */
/* Define to make fseeko etc. visible, on some hosts. */
-#define _LARGEFILE_SOURCE 1
+/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
diff --git a/libs/libsndfile/src/sndfile.h b/libs/libsndfile/src/sndfile.h
index 8cfda01..b9f0a0f 100644
--- a/libs/libsndfile/src/sndfile.h
+++ b/libs/libsndfile/src/sndfile.h
@@ -250,7 +250,7 @@ typedef struct SNDFILE_tag SNDFILE ;
** off64_t (Solaris), __int64_t (Win32) etc.
*/
-typedef loff_t sf_count_t ;
+typedef off_t sf_count_t ;
#define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
diff --git a/libs/pbd/SConscript b/libs/pbd/SConscript
index f51ddd5..96d1a77 100644
--- a/libs/pbd/SConscript
+++ b/libs/pbd/SConscript
@@ -60,6 +60,10 @@ pbd.Merge ([ libraries['sigc2'],
libraries['glibmm2'],
libraries['glib2'] ])
+
+if pbd['VST']:
+ pbd.Append(CCFLAGS="-DWINE_THREAD_SUPPORT", CPPPATH="#libs/fst")
+
pbd.VersionBuild(['version.cc','pbd/version.h'], [])
libpbd = pbd.SharedLibrary('pbd', pbd_files)
diff --git a/libs/pbd/convert.cc b/libs/pbd/convert.cc
index 3c27026..cd30f50 100644
--- a/libs/pbd/convert.cc
+++ b/libs/pbd/convert.cc
@@ -17,6 +17,7 @@
*/
+#include <cstdio>
#include <cmath>
#include <locale>
#include <algorithm>
diff --git a/libs/pbd/pathscanner.cc b/libs/pbd/pathscanner.cc
index 772bc64..1dd1348 100644
--- a/libs/pbd/pathscanner.cc
+++ b/libs/pbd/pathscanner.cc
@@ -15,7 +15,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: pathscanner.cc 3334 2008-05-11 21:42:10Z drobilla $
+ $Id: pathscanner.cc 4456 2009-01-28 15:09:36Z paul $
*/
#include <cstdlib>
@@ -23,6 +23,8 @@
#include <cstring>
#include <vector>
#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
#include <pbd/error.h>
#include <pbd/pathscanner.h>
@@ -33,7 +35,7 @@ using namespace PBD;
vector<string *> *
PathScanner::operator() (const string &dirpath, const string ®exp,
bool match_fullpath, bool return_fullpath,
- long limit)
+ long limit, bool recurse)
{
int err;
@@ -58,7 +60,7 @@ PathScanner::operator() (const string &dirpath, const string ®exp,
0,
match_fullpath,
return_fullpath,
- limit);
+ limit, recurse);
}
vector<string *> *
@@ -67,10 +69,22 @@ PathScanner::run_scan (const string &dirpath,
bool (*filter)(const string &, void *),
void *arg,
bool match_fullpath, bool return_fullpath,
- long limit)
-
+ long limit,
+ bool recurse)
+{
+ return run_scan_internal ((vector<string*>*) 0, dirpath, memberfilter, filter, arg, match_fullpath, return_fullpath, limit, recurse);
+}
+
+vector<string *> *
+PathScanner::run_scan_internal (vector<string *> *result,
+ const string &dirpath,
+ bool (PathScanner::*memberfilter)(const string &),
+ bool (*filter)(const string &, void *),
+ void *arg,
+ bool match_fullpath, bool return_fullpath,
+ long limit,
+ bool recurse)
{
- vector<string *> *result = 0;
DIR *dir;
struct dirent *finfo;
char *pathcopy = strdup (dirpath.c_str());
@@ -86,7 +100,9 @@ PathScanner::run_scan (const string &dirpath,
return 0;
}
- result = new vector<string *>;
+ if (result == 0) {
+ result = new vector<string *>;
+ }
do {
@@ -96,37 +112,51 @@ PathScanner::run_scan (const string &dirpath,
while ((finfo = readdir (dir)) != 0) {
+ if ((finfo->d_name[0] == '.' && finfo->d_name[1] == '\0') ||
+ (finfo->d_name[0] == '.' && finfo->d_name[1] == '.' && finfo->d_name[2] == '\0')) {
+ continue;
+ }
+
snprintf (fullpath, sizeof(fullpath), "%s/%s",
thisdir, finfo->d_name);
- if (match_fullpath) {
- search_str = fullpath;
- } else {
- search_str = finfo->d_name;
+ struct stat statbuf;
+ if (stat (fullpath, &statbuf) < 0) {
+ continue;
}
- /* handle either type of function ptr */
-
- if (memberfilter) {
- if (!(this->*memberfilter)(search_str)) {
- continue;
- }
+ if (statbuf.st_mode & S_IFDIR && recurse) {
+ run_scan_internal (result, fullpath, memberfilter, filter, arg, match_fullpath, return_fullpath, limit, recurse);
} else {
- if (!filter(search_str, arg)) {
- continue;
+
+ if (match_fullpath) {
+ search_str = fullpath;
+ } else {
+ search_str = finfo->d_name;
}
+
+ /* handle either type of function ptr */
+
+ if (memberfilter) {
+ if (!(this->*memberfilter)(search_str)) {
+ continue;
+ }
+ } else {
+ if (!filter(search_str, arg)) {
+ continue;
+ }
+ }
+
+ if (return_fullpath) {
+ newstr = new string (fullpath);
+ } else {
+ newstr = new string (finfo->d_name);
+ }
+
+ result->push_back (newstr);
+ nfound++;
}
-
- if (return_fullpath) {
- newstr = new string (fullpath);
- } else {
- newstr = new string (finfo->d_name);
- }
-
- result->push_back (newstr);
- nfound++;
}
-
closedir (dir);
} while ((limit < 0 || (nfound < limit)) && (thisdir = strtok (0, ":")));
diff --git a/libs/pbd/pbd/convert.h b/libs/pbd/pbd/convert.h
index 83cd285..f8358e8 100644
--- a/libs/pbd/pbd/convert.h
+++ b/libs/pbd/pbd/convert.h
@@ -20,6 +20,7 @@
#ifndef __pbd_convert_h__
#define __pbd_convert_h__
+#include <stdint.h>
#include <string>
#include <vector>
#include <sstream>
diff --git a/libs/pbd/pbd/pathscanner.h b/libs/pbd/pbd/pathscanner.h
index 0a48d4d..550aab1 100644
--- a/libs/pbd/pbd/pathscanner.h
+++ b/libs/pbd/pbd/pathscanner.h
@@ -31,55 +31,65 @@ class PathScanner
{
public:
- vector<string *> *operator() (const string &dirpath,
- bool (*filter)(const string &, void *arg),
- void *arg,
- bool match_fullpath = true,
- bool return_fullpath = true,
- long limit = -1) {
- return run_scan (dirpath,
- (bool (PathScanner::*)(const string &)) 0,
- filter,
- arg,
- match_fullpath,
- return_fullpath,
- limit);
- }
-
- vector<string *> *operator() (const string &dirpath,
- const string ®exp,
- bool match_fullpath = true,
- bool return_fullpath = true,
- long limit = -1);
-
+ vector<string *> *operator() (const string &dirpath,
+ bool (*filter)(const string &, void *arg),
+ void *arg,
+ bool match_fullpath = true,
+ bool return_fullpath = true,
+ long limit = -1,
+ bool recurse = false) {
+ return run_scan (dirpath,
+ (bool (PathScanner::*)(const string &)) 0,
+ filter,
+ arg,
+ match_fullpath,
+ return_fullpath,
+ limit, recurse);
+ }
+
+ vector<string *> *operator() (const string &dirpath,
+ const string ®exp,
+ bool match_fullpath = true,
+ bool return_fullpath = true,
+ long limit = -1,
+ bool recurse = false);
- string *find_first (const string &dirpath,
- const string ®exp,
- bool match_fullpath = true,
- bool return_fullpath = true);
-
- string *find_first (const string &dirpath,
- bool (*filter)(const string &, void *),
- void *arg,
- bool match_fullpath = true,
- bool return_fullpath = true);
-
+ string *find_first (const string &dirpath,
+ const string ®exp,
+ bool match_fullpath = true,
+ bool return_fullpath = true);
+
+ string *find_first (const string &dirpath,
+ bool (*filter)(const string &, void *),
+ void *arg,
+ bool match_fullpath = true,
+ bool return_fullpath = true);
+
private:
- regex_t compiled_pattern;
-
- bool regexp_filter (const string &str) {
- return regexec (&compiled_pattern, str.c_str(), 0, 0, 0) == 0;
- }
-
- vector<string *> *run_scan (const string &dirpath,
- bool (PathScanner::*mfilter) (const string &),
- bool (*filter)(const string &, void *),
- void *arg,
- bool match_fullpath,
- bool return_fullpath,
- long limit);
-
-
+ regex_t compiled_pattern;
+
+ bool regexp_filter (const string &str) {
+ return regexec (&compiled_pattern, str.c_str(), 0, 0, 0) == 0;
+ }
+
+ vector<string *> *run_scan (const string &dirpath,
+ bool (PathScanner::*mfilter) (const string &),
+ bool (*filter)(const string &, void *),
+ void *arg,
+ bool match_fullpath,
+ bool return_fullpath,
+ long limit,
+ bool recurse = false);
+
+ vector<string *> *run_scan_internal (vector<string*>*,
+ const string &dirpath,
+ bool (PathScanner::*mfilter) (const string &),
+ bool (*filter)(const string &, void *),
+ void *arg,
+ bool match_fullpath,
+ bool return_fullpath,
+ long limit,
+ bool recurse = false);
};
#endif // __libmisc_pathscanner_h__
diff --git a/libs/pbd/pthread_utils.cc b/libs/pbd/pthread_utils.cc
index 2db22e0..76d62aa 100644
--- a/libs/pbd/pthread_utils.cc
+++ b/libs/pbd/pthread_utils.cc
@@ -15,7 +15,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: pthread_utils.cc 4099 2008-11-06 22:18:27Z paul $
+ $Id: pthread_utils.cc 4889 2009-03-24 15:48:34Z paul $
*/
#include <map>
@@ -24,6 +24,9 @@
#include <stdint.h>
#include <pbd/pthread_utils.h>
+#ifdef WINE_THREAD_SUPPORT
+#include <fst.h>
+#endif
using namespace std;
@@ -39,6 +42,15 @@ namespace PBD {
using namespace PBD;
+static int thread_creator (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg)
+{
+#ifdef WINE_THREAD_SUPPORT
+ return wine_pthread_create (thread_id, attr, function, arg);
+#else
+ return pthread_create (thread_id, attr, function, arg);
+#endif
+}
+
void
PBD::notify_gui_about_thread_creation (pthread_t thread, std::string str, int request_count)
{
@@ -70,7 +82,7 @@ pthread_create_and_store (string name, pthread_t *thread, pthread_attr_t *attr,
attr = &default_attr;
}
- if ((ret = pthread_create (thread, attr, start_routine, arg)) == 0) {
+ if ((ret = thread_creator (thread, attr, start_routine, arg)) == 0) {
std::pair<string,pthread_t> newpair;
newpair.first = name;
newpair.second = *thread;
diff --git a/libs/pbd/shortpath.cc b/libs/pbd/shortpath.cc
index 9f9598e..7a075a5 100644
--- a/libs/pbd/shortpath.cc
+++ b/libs/pbd/shortpath.cc
@@ -17,6 +17,7 @@
*/
+#include <stdint.h>
#include <pbd/shortpath.h>
using namespace Glib;
diff --git a/libs/pbd/stacktrace.cc b/libs/pbd/stacktrace.cc
index 1d7190f..304859c 100644
--- a/libs/pbd/stacktrace.cc
+++ b/libs/pbd/stacktrace.cc
@@ -17,6 +17,7 @@
*/
+#include <cstdio>
#include <pbd/stacktrace.h>
#include <iostream>
diff --git a/libs/rubberband/rubberband/RubberBandStretcher.h b/libs/rubberband/rubberband/RubberBandStretcher.h
index ff12baf..1e676f2 100644
--- a/libs/rubberband/rubberband/RubberBandStretcher.h
+++ b/libs/rubberband/rubberband/RubberBandStretcher.h
@@ -15,7 +15,7 @@
#ifndef _RUBBERBANDSTRETCHER_H_
#define _RUBBERBANDSTRETCHER_H_
-#define RUBBERBAND_VERSION "1.2.0-gpl"
+#define RUBBERBAND_VERSION "1.3.0-gpl"
#define RUBBERBAND_API_MAJOR_VERSION 2
#define RUBBERBAND_API_MINOR_VERSION 0
diff --git a/libs/rubberband/rubberband/rubberband-c.h b/libs/rubberband/rubberband/rubberband-c.h
index 78fd129..a2cfe76 100644
--- a/libs/rubberband/rubberband/rubberband-c.h
+++ b/libs/rubberband/rubberband/rubberband-c.h
@@ -19,7 +19,7 @@
extern "C" {
#endif
-#define RUBBERBAND_VERSION "1.2.0-gpl"
+#define RUBBERBAND_VERSION "1.3.0-gpl"
#define RUBBERBAND_API_MAJOR_VERSION 2
#define RUBBERBAND_API_MINOR_VERSION 0
diff --git a/libs/rubberband/src/AudioCurve.cpp b/libs/rubberband/src/AudioCurve.cpp
index 118caf4..8cf247b 100644
--- a/libs/rubberband/src/AudioCurve.cpp
+++ b/libs/rubberband/src/AudioCurve.cpp
@@ -31,9 +31,9 @@ AudioCurve::~AudioCurve()
}
float
-AudioCurve::process(const double *R__ mag, size_t increment)
+AudioCurve::processDouble(const double *R__ mag, size_t increment)
{
- cerr << "WARNING: Using inefficient AudioCurve::process(double)" << endl;
+ cerr << "AudioCurve::processDouble: WARNING: Using inefficient and lossy conversion for AudioCurve::process(float)" << endl;
float *tmp = new float[m_windowSize];
for (int i = 0; i < int(m_windowSize); ++i) tmp[i] = float(mag[i]);
float df = process(tmp, increment);
diff --git a/libs/rubberband/src/AudioCurve.h b/libs/rubberband/src/AudioCurve.h
index 7896308..a34a4aa 100644
--- a/libs/rubberband/src/AudioCurve.h
+++ b/libs/rubberband/src/AudioCurve.h
@@ -31,7 +31,7 @@ public:
virtual void setWindowSize(size_t newSize) = 0;
virtual float process(const float *R__ mag, size_t increment) = 0;
- virtual float process(const double *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset() = 0;
protected:
diff --git a/libs/rubberband/src/ConstantAudioCurve.cpp b/libs/rubberband/src/ConstantAudioCurve.cpp
index 3263c53..87867f3 100644
--- a/libs/rubberband/src/ConstantAudioCurve.cpp
+++ b/libs/rubberband/src/ConstantAudioCurve.cpp
@@ -43,5 +43,11 @@ ConstantAudioCurve::process(const float *R__, size_t)
return 1.f;
}
+float
+ConstantAudioCurve::processDouble(const double *R__, size_t)
+{
+ return 1.f;
+}
+
}
diff --git a/libs/rubberband/src/ConstantAudioCurve.h b/libs/rubberband/src/ConstantAudioCurve.h
index d73cabe..41a2ea0 100644
--- a/libs/rubberband/src/ConstantAudioCurve.h
+++ b/libs/rubberband/src/ConstantAudioCurve.h
@@ -29,6 +29,7 @@ public:
virtual void setWindowSize(size_t newSize);
virtual float process(const float *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset();
};
diff --git a/libs/rubberband/src/HighFrequencyAudioCurve.cpp b/libs/rubberband/src/HighFrequencyAudioCurve.cpp
index 987cf76..71108ad 100644
--- a/libs/rubberband/src/HighFrequencyAudioCurve.cpp
+++ b/libs/rubberband/src/HighFrequencyAudioCurve.cpp
@@ -51,5 +51,19 @@ HighFrequencyAudioCurve::process(const float *R__ mag, size_t increment)
return result;
}
+float
+HighFrequencyAudioCurve::processDouble(const double *R__ mag, size_t increment)
+{
+ float result = 0.0;
+
+ const int sz = m_windowSize / 2;
+
+ for (int n = 0; n <= sz; ++n) {
+ result = result + (float)mag[n] * n;
+ }
+
+ return result;
+}
+
}
diff --git a/libs/rubberband/src/HighFrequencyAudioCurve.h b/libs/rubberband/src/HighFrequencyAudioCurve.h
index d42513f..b0a3ec2 100644
--- a/libs/rubberband/src/HighFrequencyAudioCurve.h
+++ b/libs/rubberband/src/HighFrequencyAudioCurve.h
@@ -31,6 +31,7 @@ public:
virtual void setWindowSize(size_t newSize);
virtual float process(const float *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset();
};
diff --git a/libs/rubberband/src/PercussiveAudioCurve.cpp b/libs/rubberband/src/PercussiveAudioCurve.cpp
index f892596..cb03afc 100644
--- a/libs/rubberband/src/PercussiveAudioCurve.cpp
+++ b/libs/rubberband/src/PercussiveAudioCurve.cpp
@@ -82,7 +82,7 @@ PercussiveAudioCurve::process(const float *R__ mag, size_t increment)
}
float
-PercussiveAudioCurve::process(const double *R__ mag, size_t increment)
+PercussiveAudioCurve::processDouble(const double *R__ mag, size_t increment)
{
Profiler profiler("PercussiveAudioCurve::process");
diff --git a/libs/rubberband/src/PercussiveAudioCurve.h b/libs/rubberband/src/PercussiveAudioCurve.h
index 29c4fb7..9f08705 100644
--- a/libs/rubberband/src/PercussiveAudioCurve.h
+++ b/libs/rubberband/src/PercussiveAudioCurve.h
@@ -30,7 +30,7 @@ public:
virtual void setWindowSize(size_t newSize);
virtual float process(const float *R__ mag, size_t increment);
- virtual float process(const double *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset();
protected:
diff --git a/libs/rubberband/src/Resampler.cpp b/libs/rubberband/src/Resampler.cpp
index 296537f..1e47936 100644
--- a/libs/rubberband/src/Resampler.cpp
+++ b/libs/rubberband/src/Resampler.cpp
@@ -137,9 +137,11 @@ D_SRC::resample(const float *const R__ *const R__ in,
data.data_out = *out;
} else {
if (incount * m_channels > m_iinsize) {
+ m_iinsize = incount * m_channels;
m_iin = allocFloat(m_iin, m_iinsize);
}
if (outcount * m_channels > m_ioutsize) {
+ m_ioutsize = outcount * m_channels;
m_iout = allocFloat(m_iout, m_ioutsize);
}
for (int i = 0; i < incount; ++i) {
diff --git a/libs/rubberband/src/SilentAudioCurve.cpp b/libs/rubberband/src/SilentAudioCurve.cpp
index b445646..2bc8bdc 100644
--- a/libs/rubberband/src/SilentAudioCurve.cpp
+++ b/libs/rubberband/src/SilentAudioCurve.cpp
@@ -53,7 +53,7 @@ SilentAudioCurve::process(const float *R__ mag, size_t)
}
float
-SilentAudioCurve::process(const double *R__ mag, size_t)
+SilentAudioCurve::processDouble(const double *R__ mag, size_t)
{
const int hs = m_windowSize / 2;
static double threshold = pow(10.0, -6);
diff --git a/libs/rubberband/src/SilentAudioCurve.h b/libs/rubberband/src/SilentAudioCurve.h
index ec7009a..6309f9d 100644
--- a/libs/rubberband/src/SilentAudioCurve.h
+++ b/libs/rubberband/src/SilentAudioCurve.h
@@ -29,7 +29,7 @@ public:
virtual void setWindowSize(size_t newSize);
virtual float process(const float *R__ mag, size_t increment);
- virtual float process(const double *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset();
};
diff --git a/libs/rubberband/src/SpectralDifferenceAudioCurve.cpp b/libs/rubberband/src/SpectralDifferenceAudioCurve.cpp
index 0deec53..e391e39 100644
--- a/libs/rubberband/src/SpectralDifferenceAudioCurve.cpp
+++ b/libs/rubberband/src/SpectralDifferenceAudioCurve.cpp
@@ -65,5 +65,19 @@ SpectralDifferenceAudioCurve::process(const float *R__ mag, size_t increment)
return result;
}
+float
+SpectralDifferenceAudioCurve::processDouble(const double *R__ mag, size_t increment)
+{
+ float result = 0.0;
+
+ for (size_t n = 0; n <= m_windowSize / 2; ++n) {
+ result += sqrtf(fabsf((mag[n] * mag[n]) -
+ (m_prevMag[n] * m_prevMag[n])));
+ m_prevMag[n] = (float)mag[n];
+ }
+
+ return result;
+}
+
}
diff --git a/libs/rubberband/src/SpectralDifferenceAudioCurve.h b/libs/rubberband/src/SpectralDifferenceAudioCurve.h
index 6ab0af9..4295653 100644
--- a/libs/rubberband/src/SpectralDifferenceAudioCurve.h
+++ b/libs/rubberband/src/SpectralDifferenceAudioCurve.h
@@ -31,6 +31,7 @@ public:
virtual void setWindowSize(size_t newSize);
virtual float process(const float *R__ mag, size_t increment);
+ virtual float processDouble(const double *R__ mag, size_t increment);
virtual void reset();
protected:
diff --git a/libs/rubberband/src/StretcherChannelData.cpp b/libs/rubberband/src/StretcherChannelData.cpp
index 8378975..240df23 100644
--- a/libs/rubberband/src/StretcherChannelData.cpp
+++ b/libs/rubberband/src/StretcherChannelData.cpp
@@ -104,6 +104,14 @@ RubberBandStretcher::Impl::ChannelData::construct(const std::set<size_t> &window
for (size_t i = 0; i < initialWindowSize * oversample; ++i) {
dblbuf[i] = 0.0;
}
+
+ for (size_t i = 0; i < maxSize; ++i) {
+ accumulator[i] = 0.f;
+ windowAccumulator[i] = 0.f;
+ }
+
+ // Avoid dividing opening sample (which will be discarded anyway) by zero
+ windowAccumulator[0] = 1.f;
}
void
@@ -273,6 +281,16 @@ RubberBandStretcher::Impl::ChannelData::reset()
if (resampler) resampler->reset();
+ size_t size = inbuf->getSize();
+
+ for (size_t i = 0; i < size; ++i) {
+ accumulator[i] = 0.f;
+ windowAccumulator[i] = 0.f;
+ }
+
+ // Avoid dividing opening sample (which will be discarded anyway) by zero
+ windowAccumulator[0] = 1.f;
+
accumulatorFill = 0;
prevIncrement = 0;
chunkCount = 0;
diff --git a/libs/rubberband/src/StretcherImpl.cpp b/libs/rubberband/src/StretcherImpl.cpp
index 126b001..7ec7c16 100644
--- a/libs/rubberband/src/StretcherImpl.cpp
+++ b/libs/rubberband/src/StretcherImpl.cpp
@@ -342,6 +342,19 @@ RubberBandStretcher::Impl::calculateSizes()
size_t windowSize = m_baseWindowSize;
size_t outputIncrement;
+ if (m_pitchScale <= 0.0) {
+ // This special case is likelier than one might hope, because
+ // of naive initialisations in programs that set it from a
+ // variable
+ std::cerr << "RubberBandStretcher: WARNING: Pitch scale must be greater than zero!\nResetting it from " << m_pitchScale << " to the default of 1.0: no pitch change will occur" << std::endl;
+ m_pitchScale = 1.0;
+ }
+ if (m_timeRatio <= 0.0) {
+ // Likewise
+ std::cerr << "RubberBandStretcher: WARNING: Time ratio must be greater than zero!\nResetting it from " << m_timeRatio << " to the default of 1.0: no time stretch will occur" << std::endl;
+ m_timeRatio = 1.0;
+ }
+
double r = getEffectiveRatio();
if (m_realtime) {
@@ -921,9 +934,18 @@ RubberBandStretcher::Impl::calculateStretch()
{
Profiler profiler("RubberBandStretcher::Impl::calculateStretch");
+ size_t inputDuration = m_inputDuration;
+
+ if (!m_realtime && m_expectedInputDuration > 0) {
+ if (m_expectedInputDuration != inputDuration) {
+ std::cerr << "RubberBandStretcher: WARNING: Actual study() duration differs from duration set by setExpectedInputDuration (" << m_inputDuration << " vs " << m_expectedInputDuration << ", diff = " << (m_expectedInputDuration - m_inputDuration) << "), using the latter for calculation" << std::endl;
+ inputDuration = m_expectedInputDuration;
+ }
+ }
+
std::vector<int> increments = m_stretchCalculator->calculate
(getEffectiveRatio(),
- m_inputDuration,
+ inputDuration,
m_phaseResetDf,
m_stretchDf);
diff --git a/libs/rubberband/src/StretcherProcess.cpp b/libs/rubberband/src/StretcherProcess.cpp
index 59f678b..47bf77e 100644
--- a/libs/rubberband/src/StretcherProcess.cpp
+++ b/libs/rubberband/src/StretcherProcess.cpp
@@ -67,7 +67,7 @@ RubberBandStretcher::Impl::ProcessThread::run()
m_dataAvailable.lock();
if (!m_s->testInbufReadSpace(m_channel) && !m_abandoning) {
- m_dataAvailable.wait();
+ m_dataAvailable.wait(50000); // bounded in case of abandonment
} else {
m_dataAvailable.unlock();
}
@@ -448,8 +448,8 @@ RubberBandStretcher::Impl::calculateIncrements(size_t &phaseIncrementRtn,
if (m_channels == 1) {
- df = m_phaseResetAudioCurve->process(cd.mag, m_increment);
- silent = (m_silentAudioCurve->process(cd.mag, m_increment) > 0.f);
+ df = m_phaseResetAudioCurve->processDouble(cd.mag, m_increment);
+ silent = (m_silentAudioCurve->processDouble(cd.mag, m_increment) > 0.f);
} else {
@@ -464,8 +464,8 @@ RubberBandStretcher::Impl::calculateIncrements(size_t &phaseIncrementRtn,
}
}
- df = m_phaseResetAudioCurve->process(tmp, m_increment);
- silent = (m_silentAudioCurve->process(tmp, m_increment) > 0.f);
+ df = m_phaseResetAudioCurve->processDouble(tmp, m_increment);
+ silent = (m_silentAudioCurve->processDouble(tmp, m_increment) > 0.f);
}
int incr = m_stretchCalculator->calculateSingle
@@ -736,7 +736,7 @@ RubberBandStretcher::Impl::modifyChunk(size_t channel,
bool inherit = false;
if (laminar) {
- if (distance >= mi) {
+ if (distance >= mi || i == count) {
inherit = false;
} else if (bandlimited && (i == bandhigh || i == bandlow)) {
inherit = false;
diff --git a/libs/rubberband/src/sysutils.cpp b/libs/rubberband/src/sysutils.cpp
index d52eee9..902b126 100644
--- a/libs/rubberband/src/sysutils.cpp
+++ b/libs/rubberband/src/sysutils.cpp
@@ -109,7 +109,7 @@ float *allocFloat(float *ptr, int count)
void *allocated;
#ifndef _WIN32
#ifndef __APPLE__
- if (!posix_memalign(&allocated, 16, count * sizeof(float)))
+ if (posix_memalign(&allocated, 16, count * sizeof(float)))
#endif
#endif
allocated = malloc(count * sizeof(float));
@@ -133,7 +133,7 @@ double *allocDouble(double *ptr, int count)
void *allocated;
#ifndef _WIN32
#ifndef __APPLE__
- if (!posix_memalign(&allocated, 16, count * sizeof(double)))
+ if (posix_memalign(&allocated, 16, count * sizeof(double)))
#endif
#endif
allocated = malloc(count * sizeof(double));
diff --git a/libs/sigc++2/Makefile.in b/libs/sigc++2/Makefile.in
index 2169914..5b14de4 100644
--- a/libs/sigc++2/Makefile.in
+++ b/libs/sigc++2/Makefile.in
@@ -105,6 +105,7 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -134,6 +135,7 @@ M4 = @M4@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
@@ -199,6 +201,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
diff --git a/libs/sigc++2/config.guess b/libs/sigc++2/config.guess
index 951383e..f32079a 100755
--- a/libs/sigc++2/config.guess
+++ b/libs/sigc++2/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 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2008-01-23'
# 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
@@ -56,8 +56,8 @@ 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
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -330,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -532,7 +532,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[456])
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
@@ -793,12 +793,15 @@ EOF
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
- x86)
+ x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
@@ -1474,9 +1484,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/libs/sigc++2/config.sub b/libs/sigc++2/config.sub
index c060f44..6759825 100755
--- a/libs/sigc++2/config.sub
+++ b/libs/sigc++2/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 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@ 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
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -369,10 +369,14 @@ case $basic_machine in
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -443,6 +447,14 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16c)
- basic_machine=cr16c-unknown
+ cr16)
+ basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -813,6 +833,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -1021,6 +1049,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
diff --git a/libs/sigc++2/configure b/libs/sigc++2/configure
index b16e71f..ab03f1d 100755
--- a/libs/sigc++2/configure
+++ b/libs/sigc++2/configure
@@ -1,11 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for libsigc++ 2.2.2.
+# Generated by GNU Autoconf 2.63 for libsigc++ 2.2.2.
#
# Report bugs to <libsigc-list at gnome.org>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -17,7 +17,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -39,17 +39,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -65,8 +93,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -89,7 +115,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -102,17 +128,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -134,7 +153,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -160,7 +179,7 @@ else
as_have_required=no
fi
- if test $as_have_required = yes && (eval ":
+ if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
@@ -242,7 +261,7 @@ IFS=$as_save_IFS
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -263,7 +282,7 @@ _ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -343,10 +362,10 @@ fi
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
@@ -415,9 +434,10 @@ fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
- echo Please tell autoconf at gnu.org about your system,
- echo including any error possibly output before this
- echo message
+ echo Please tell bug-autoconf at gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
}
@@ -453,7 +473,7 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -481,7 +501,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -494,19 +513,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -531,10 +553,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -769,126 +791,141 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-FP_VERSION
-FP_RELEASE
-FP_MAJOR_VERSION
-FP_MINOR_VERSION
-FP_MICRO_VERSION
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-M4
-PERL_PATH
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CPP
-PLATFORM_WIN32_TRUE
-PLATFORM_WIN32_FALSE
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
-RANLIB
-DLLTOOL
-AS
-OBJDUMP
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
+ac_subst_vars='LTLIBOBJS
LIBOBJS
-LTLIBOBJS'
+LIBTOOL
+ac_ct_F77
+FFLAGS
+F77
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+OBJDUMP
+AS
+DLLTOOL
+NMEDIT
+DSYMUTIL
+RANLIB
+AR
+ECHO
+LN_S
+EGREP
+GREP
+SED
+PLATFORM_WIN32_FALSE
+PLATFORM_WIN32_TRUE
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+PERL_PATH
+M4
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+FP_MICRO_VERSION
+FP_MINOR_VERSION
+FP_MAJOR_VERSION
+FP_RELEASE
+FP_VERSION
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_dependency_tracking
+enable_shared
+enable_static
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_pic
+with_tags
+'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -909,6 +946,8 @@ FFLAGS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -1007,13 +1046,21 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -1026,13 +1073,21 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1223,22 +1278,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -1258,7 +1329,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -1267,16 +1338,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -1285,22 +1356,38 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
@@ -1315,7 +1402,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -1331,10 +1418,10 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
@@ -1342,12 +1429,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1374,12 +1461,12 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
@@ -1428,9 +1515,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1440,25 +1527,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libsigc++]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/libsigc++]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1481,6 +1568,7 @@ if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-maintainer-mode enable make rules and dependencies not useful
@@ -1527,15 +1615,17 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1571,7 +1661,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1581,10 +1671,10 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libsigc++ configure 2.2.2
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1595,7 +1685,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libsigc++ $as_me 2.2.2, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1631,7 +1721,7 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
@@ -1666,7 +1756,7 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1718,11 +1808,12 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -1752,9 +1843,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
@@ -1769,9 +1860,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1787,8 +1878,8 @@ _ASBOX
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1830,21 +1921,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1854,16 +1948,16 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1877,29 +1971,38 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1909,10 +2012,12 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2011,8 +2116,8 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2038,11 +2143,12 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -2071,17 +2177,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -2094,8 +2212,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -2105,8 +2223,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -2129,9 +2247,9 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2142,26 +2260,23 @@ then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
+$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -2172,15 +2287,15 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
@@ -2215,8 +2330,8 @@ fi
MKDIR_P="$ac_install_sh -d"
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
mkdir_p="$MKDIR_P"
case $mkdir_p in
@@ -2228,10 +2343,10 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2244,7 +2359,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2255,22 +2370,23 @@ fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
@@ -2287,12 +2403,12 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -2311,8 +2427,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -2367,10 +2483,10 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -2383,7 +2499,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2394,11 +2510,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2407,10 +2523,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -2423,7 +2539,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2434,11 +2550,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -2446,12 +2562,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -2470,8 +2582,8 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AMTAR=${AMTAR-"${am_missing_run}tar"}
-{ echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5
-echo $ECHO_N "checking how to create a ustar tar archive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
# Loop over all known methods to create a tar archive until one works.
_am_tools='gnutar plaintar pax cpio none'
_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
@@ -2544,13 +2656,13 @@ done
rm -rf conftest.dir
if test "${am_cv_prog_tar_ustar+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
am_cv_prog_tar_ustar=$_am_tool
fi
-{ echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5
-echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
@@ -2562,34 +2674,34 @@ ac_config_headers="$ac_config_headers sigc++config.h"
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
@@ -2606,27 +2718,27 @@ IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
@@ -2655,10 +2767,10 @@ for ac_prog in gm4 m4
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_M4+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$M4"; then
ac_cv_prog_M4="$M4" # Let the user override the test.
@@ -2671,7 +2783,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_M4="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2682,11 +2794,11 @@ fi
fi
M4=$ac_cv_prog_M4
if test -n "$M4"; then
- { echo "$as_me:$LINENO: result: $M4" >&5
-echo "${ECHO_T}$M4" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $M4" >&5
+$as_echo "$M4" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2699,10 +2811,10 @@ for ac_prog in perl perl5
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PERL_PATH+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PERL_PATH in
[\\/]* | ?:[\\/]*)
@@ -2717,7 +2829,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PERL_PATH="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2729,11 +2841,11 @@ esac
fi
PERL_PATH=$ac_cv_path_PERL_PATH
if test -n "$PERL_PATH"; then
- { echo "$as_me:$LINENO: result: $PERL_PATH" >&5
-echo "${ECHO_T}$PERL_PATH" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PERL_PATH" >&5
+$as_echo "$PERL_PATH" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2745,8 +2857,8 @@ test -n "$PERL_PATH" || PERL_PATH="perl"
AUTOHEADER=':'
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$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
@@ -2754,8 +2866,8 @@ else
USE_MAINTAINER_MODE=no
fi
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
@@ -2776,10 +2888,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2792,7 +2904,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2803,11 +2915,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2816,10 +2928,10 @@ if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2832,7 +2944,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2843,11 +2955,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
@@ -2855,12 +2967,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2873,10 +2981,10 @@ if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2889,7 +2997,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2900,11 +3008,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2913,10 +3021,10 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2934,7 +3042,7 @@ do
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2957,11 +3065,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2972,10 +3080,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2988,7 +3096,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2999,11 +3107,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3016,10 +3124,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -3032,7 +3140,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -3043,11 +3151,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3059,12 +3167,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -3074,44 +3178,50 @@ fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -3130,27 +3240,22 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
@@ -3161,10 +3266,11 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
@@ -3175,7 +3281,7 @@ for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
@@ -3202,25 +3308,27 @@ else
ac_file=''
fi
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
@@ -3229,49 +3337,53 @@ if test "$cross_compiling" != yes; then
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -3280,31 +3392,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3327,40 +3441,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3386,20 +3503,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3409,15 +3527,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
@@ -3444,20 +3566,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CFLAGS=""
@@ -3482,20 +3605,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3521,20 +3645,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3549,8 +3674,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -3566,10 +3691,10 @@ else
CFLAGS=
fi
fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
@@ -3640,20 +3765,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_c89=$ac_arg
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3669,15 +3795,15 @@ fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
@@ -3698,8 +3824,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -3726,8 +3852,8 @@ if test "$am__include" = "#"; then
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
@@ -3751,10 +3877,10 @@ fi
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -3842,8 +3968,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
@@ -3862,15 +3988,15 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -3902,20 +4028,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -3939,13 +4066,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -3953,7 +4081,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -3978,8 +4106,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -4007,20 +4135,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -4044,13 +4173,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -4058,7 +4188,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -4074,11 +4204,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -4088,8 +4220,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking for some Win32 platform" >&5
-echo $ECHO_N "checking for some Win32 platform... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for some Win32 platform" >&5
+$as_echo_n "checking for some Win32 platform... " >&6; }
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
@@ -4098,8 +4230,8 @@ case "$host" in
platform_win32=no
;;
esac
-{ echo "$as_me:$LINENO: result: $platform_win32" >&5
-echo "${ECHO_T}$platform_win32" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $platform_win32" >&5
+$as_echo "$platform_win32" >&6; }
if test "$platform_win32" = "yes"; then
PLATFORM_WIN32_TRUE=
PLATFORM_WIN32_FALSE='#'
@@ -4184,10 +4316,10 @@ else
fi
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
@@ -4240,45 +4372,40 @@ fi
SED=$lt_cv_path_SED
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
+ if test -z "$GREP"; then
ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4293,74 +4420,60 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_GREP_found && break 3
+ $ac_path_GREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_GREP=$GREP
fi
-
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$EGREP"; then
ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4375,33 +4488,24 @@ case `"$ac_path_EGREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_EGREP=$EGREP
fi
-
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
@@ -4416,8 +4520,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -4446,14 +4550,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -4483,19 +4587,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -4507,20 +4611,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_ld_reload_flag='-r'
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -4537,10 +4641,10 @@ case $host_os in
;;
esac
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+$as_echo_n "checking for BSD-compatible nm... " >&6; }
if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
@@ -4586,25 +4690,25 @@ else
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -4621,7 +4725,7 @@ lt_cv_deplibs_check_method='unknown'
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4787,8 +4891,8 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4821,7 +4925,7 @@ ia64-*-hpux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
@@ -4836,11 +4940,11 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4839 "configure"' > conftest.$ac_ext
+ echo '#line 4943 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
@@ -4878,7 +4982,7 @@ s390*-*linux*|sparc*-*linux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
@@ -4929,10 +5033,10 @@ s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -4961,26 +5065,30 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
lt_cv_cc_needs_belf=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
@@ -4990,8 +5098,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -5003,13 +5111,17 @@ sparc*-*solaris*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
@@ -5021,10 +5133,10 @@ sparc*-*solaris*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
@@ -5037,7 +5149,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5048,11 +5160,11 @@ fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5061,10 +5173,10 @@ if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
@@ -5077,7 +5189,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5088,11 +5200,11 @@ fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_DLLTOOL" = x; then
@@ -5100,12 +5212,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
@@ -5117,10 +5225,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AS"; then
ac_cv_prog_AS="$AS" # Let the user override the test.
@@ -5133,7 +5241,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AS="${ac_tool_prefix}as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5144,11 +5252,11 @@ fi
fi
AS=$ac_cv_prog_AS
if test -n "$AS"; then
- { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AS" >&5
+$as_echo "$AS" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5157,10 +5265,10 @@ if test -z "$ac_cv_prog_AS"; then
ac_ct_AS=$AS
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AS"; then
ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
@@ -5173,7 +5281,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AS="as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5184,11 +5292,11 @@ fi
fi
ac_ct_AS=$ac_cv_prog_ac_ct_AS
if test -n "$ac_ct_AS"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_AS" = x; then
@@ -5196,12 +5304,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AS=$ac_ct_AS
@@ -5213,10 +5317,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
@@ -5229,7 +5333,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5240,11 +5344,11 @@ fi
fi
OBJDUMP=$ac_cv_prog_OBJDUMP
if test -n "$OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5253,10 +5357,10 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
ac_ct_OBJDUMP=$OBJDUMP
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
@@ -5269,7 +5373,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5280,11 +5384,11 @@ fi
fi
ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
if test -n "$ac_ct_OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_OBJDUMP" = x; then
@@ -5292,12 +5396,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OBJDUMP=$ac_ct_OBJDUMP
@@ -5314,10 +5414,10 @@ need_locks="$enable_libtool_lock"
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5344,20 +5444,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
@@ -5449,37 +5550,40 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
+rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -5501,11 +5605,11 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5523,20 +5627,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_Header=no"
@@ -5544,12 +5649,15 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5560,20 +5668,21 @@ done
for ac_header in dlfcn.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5589,32 +5698,33 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -5628,51 +5738,52 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
( cat <<\_ASBOX
## ------------------------------------- ##
## Report this to libsigc-list at gnome.org ##
@@ -5681,21 +5792,24 @@ _ASBOX
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5716,10 +5830,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -5732,7 +5846,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5743,11 +5857,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5760,10 +5874,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -5776,7 +5890,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5787,11 +5901,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -5803,12 +5917,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -5818,43 +5928,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5880,20 +5994,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -5903,15 +6018,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -5938,20 +6057,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -5976,20 +6096,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -6015,20 +6136,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -6043,8 +6165,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -6068,10 +6190,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -6159,8 +6281,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -6184,11 +6306,11 @@ ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
@@ -6220,20 +6342,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -6257,13 +6380,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -6271,7 +6395,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -6296,8 +6420,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -6325,20 +6449,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -6362,13 +6487,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -6376,7 +6502,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -6392,11 +6518,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=cpp
@@ -6417,10 +6545,10 @@ if test -n "$ac_tool_prefix"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$F77"; then
ac_cv_prog_F77="$F77" # Let the user override the test.
@@ -6433,7 +6561,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6444,11 +6572,11 @@ fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $F77" >&5
+$as_echo "$F77" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6461,10 +6589,10 @@ if test -z "$F77"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_F77"; then
ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
@@ -6477,7 +6605,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -6488,11 +6616,11 @@ fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+$as_echo "$ac_ct_F77" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -6504,12 +6632,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
F77=$ac_ct_F77
@@ -6518,37 +6642,41 @@ fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
rm -f a.out
@@ -6556,10 +6684,10 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
program main
@@ -6575,20 +6703,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -6598,16 +6727,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+$as_echo "$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+$as_echo_n "checking whether $F77 accepts -g... " >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
FFLAGS=-g
cat >conftest.$ac_ext <<_ACEOF
@@ -6621,20 +6750,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_f77_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_prog_f77_g=no
@@ -6643,8 +6773,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+$as_echo "$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -6661,7 +6791,11 @@ else
fi
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
+if test $ac_compiler_gnu = yes; then
+ G77=yes
+else
+ G77=
+fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6671,12 +6805,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
i=0
teststring="ABCD"
@@ -6785,11 +6918,11 @@ else
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
fi
@@ -6797,10 +6930,10 @@ fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# These are sane defaults that work on at least a few old systems.
@@ -6905,14 +7038,14 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Now try to grab the symbols.
nlist=conftest.nm
if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
(eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
@@ -6967,7 +7100,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -6986,7 +7119,7 @@ EOF
echo "$progname: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$pipe_works" = yes; then
@@ -7002,17 +7135,17 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -7024,8 +7157,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -7076,10 +7209,10 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
@@ -7092,7 +7225,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7103,11 +7236,11 @@ fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -7116,10 +7249,10 @@ if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
@@ -7132,7 +7265,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7143,11 +7276,11 @@ fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_AR" = x; then
@@ -7155,12 +7288,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
@@ -7172,10 +7301,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -7188,7 +7317,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7199,11 +7328,11 @@ fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -7212,10 +7341,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -7228,7 +7357,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7239,11 +7368,11 @@ fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
@@ -7251,12 +7380,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
@@ -7268,10 +7393,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -7284,7 +7409,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7295,11 +7420,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -7308,10 +7433,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -7324,7 +7449,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -7335,11 +7460,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -7347,12 +7472,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -7415,10 +7536,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7468,19 +7589,19 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7530,11 +7651,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
else
@@ -7546,6 +7667,314 @@ fi
;;
esac
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ echo "int foo(void){return 1;}" > conftest.c
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib ${wl}-single_module conftest.c
+ if test -f libconftest.dylib; then
+ lt_cv_apple_cc_single_mod=yes
+ rm -rf libconftest.dylib*
+ fi
+ rm conftest.c
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[0123])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*)
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil="~$DSYMUTIL \$lib || :"
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+
enable_dlopen=no
enable_win32_dll=yes
@@ -7611,7 +8040,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
@@ -7621,10 +8050,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -7639,11 +8068,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7642: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8071: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7646: \$? = $ac_status" >&5
+ echo "$as_me:8075: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7656,8 +8085,8 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -7671,8 +8100,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -7903,20 +8332,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works=no
+ lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
@@ -7929,27 +8358,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7932: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8361: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7936: \$? = $ac_status" >&5
+ echo "$as_me:8365: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -7974,12 +8403,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works=no
+ lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -7992,30 +8421,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
else
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
else
lt_prog_compiler_static=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$rm -r conftest 2>/dev/null
@@ -8033,11 +8462,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8036: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8465: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8040: \$? = $ac_status" >&5
+ echo "$as_me:8469: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8059,34 +8488,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
@@ -8117,12 +8546,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -8181,7 +8611,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
@@ -8400,7 +8830,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -8420,7 +8850,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -8515,18 +8945,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8541,12 +8974,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8581,18 +9015,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8607,12 +9044,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8692,11 +9130,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -9065,8 +9502,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
#
@@ -9086,15 +9523,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -9112,7 +9549,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc=no
@@ -9124,16 +9561,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -9216,7 +9653,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -9736,17 +10173,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -9770,8 +10222,8 @@ else
# directories.
hardcode_action=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -9784,13 +10236,13 @@ fi
striplib=
old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
@@ -9798,16 +10250,16 @@ else
if test -n "$STRIP" ; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
;;
*)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
;;
esac
fi
@@ -9839,10 +10291,10 @@ else
darwin*)
# if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9874,33 +10326,37 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9913,10 +10369,10 @@ fi
;;
*)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9969,38 +10425,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
lt_cv_dlopen="shl_load"
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -10032,39 +10492,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -10117,38 +10581,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
lt_cv_dlopen="dlopen"
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -10180,39 +10648,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
@@ -10244,39 +10716,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_svld_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -10308,34 +10784,38 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_dld_link=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -10373,10 +10853,10 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
@@ -10384,7 +10864,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10387 "configure"
+#line 10867 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10450,7 +10930,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10468,15 +10948,15 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
@@ -10484,7 +10964,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10487 "configure"
+#line 10967 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10550,7 +11030,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10568,8 +11048,8 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -10591,13 +11071,13 @@ fi
# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -10611,21 +11091,21 @@ aix3*)
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
;;
esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -10667,6 +11147,7 @@ if test -f "$ltmain"; then
predeps \
postdeps \
compiler_lib_search_path \
+ compiler_lib_search_dirs \
archive_cmds \
archive_expsym_cmds \
postinstall_cmds \
@@ -10717,8 +11198,8 @@ if test -f "$ltmain"; then
cfgfile="${ofile}T"
trap "$rm \"$cfgfile\"; exit 1" 1 2 15
$rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ofile" >&5
+$as_echo "$as_me: creating $ofile" >&6;}
cat <<__EOF__ >> "$cfgfile"
#! $SHELL
@@ -10727,7 +11208,7 @@ echo "$as_me: creating $ofile" >&6;}
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
@@ -10963,6 +11444,10 @@ predeps=$lt_predeps
# shared library.
postdeps=$lt_postdeps
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path
@@ -11126,18 +11611,18 @@ fi
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
fi
if test -z "$LTCC"; then
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
fi
fi
if test -z "$LTCFLAGS"; then
@@ -11154,16 +11639,16 @@ echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
# Check whether tagname contains only valid characters
case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
"") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+$as_echo "$as_me: error: invalid tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -11211,6 +11696,7 @@ postdep_objects_CXX=
predeps_CXX=
postdeps_CXX=
compiler_lib_search_path_CXX=
+compiler_lib_search_dirs_CXX=
# Source file extension for C++ test sources.
ac_ext=cpp
@@ -11248,7 +11734,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -11305,8 +11791,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -11335,14 +11821,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -11372,19 +11858,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -11396,8 +11882,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -11447,15 +11933,15 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -11468,7 +11954,7 @@ case $host_os in
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
*-brtl*)
@@ -11565,18 +12051,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11591,12 +12080,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11632,18 +12122,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11658,12 +12151,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11726,51 +12220,23 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
archive_cmds_need_lc_CXX=no
hardcode_direct_CXX=no
hardcode_automatic_CXX=yes
hardcode_shlibpath_var_CXX=unsupported
whole_archive_flag_spec_CXX=''
link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ if test "$GXX" = yes ; then
output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
case $cc_basename in
xlc*)
@@ -12021,7 +12487,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
@@ -12421,14 +12887,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
LD_CXX="$LD"
-
cat > conftest.$ac_ext <<EOF
class Foo
{
@@ -12442,7 +12907,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -12530,6 +12995,11 @@ fi
$rm -f confest.$objext
+compiler_lib_search_dirs_CXX=
+if test -n "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
# PORTME: override above test on systems where it is broken
case $host_os in
interix[3-9]*)
@@ -12585,7 +13055,6 @@ solaris*)
;;
esac
-
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
@@ -12594,8 +13063,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -12661,7 +13130,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
@@ -12757,7 +13226,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-fpic'
@@ -12878,20 +13347,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_CXX=no
+ lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
@@ -12904,27 +13373,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12907: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13376: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12911: \$? = $ac_status" >&5
+ echo "$as_me:13380: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -12949,12 +13418,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_CXX=no
+ lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -12967,30 +13436,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
else
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
else
lt_prog_compiler_static_CXX=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
$rm -r conftest 2>/dev/null
@@ -13008,11 +13477,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13011: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13480: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13015: \$? = $ac_status" >&5
+ echo "$as_me:13484: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13034,38 +13503,38 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
@@ -13084,9 +13553,10 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
#
@@ -13106,15 +13576,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -13132,7 +13602,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_CXX=no
@@ -13144,16 +13614,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -13185,7 +13655,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -13704,17 +14174,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -13738,8 +14223,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -13791,6 +14276,7 @@ if test -f "$ltmain"; then
predeps_CXX \
postdeps_CXX \
compiler_lib_search_path_CXX \
+ compiler_lib_search_dirs_CXX \
archive_cmds_CXX \
archive_expsym_cmds_CXX \
postinstall_cmds_CXX \
@@ -14039,6 +14525,10 @@ predeps=$lt_predeps_CXX
# shared library.
postdeps=$lt_postdeps_CXX
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
@@ -14253,7 +14743,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -14272,13 +14762,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -14291,21 +14781,21 @@ aix3*)
postinstall_cmds='$RANLIB $lib'
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
;;
esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -14314,8 +14804,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -14546,20 +15036,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+$as_echo "$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_F77=no
+ lt_cv_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_F77"
@@ -14572,27 +15062,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14575: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15065: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14579: \$? = $ac_status" >&5
+ echo "$as_me:15069: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
+ lt_cv_prog_compiler_pic_works_F77=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; }
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
"" | " "*) ;;
*) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
@@ -14617,12 +15107,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_F77=no
+ lt_cv_prog_compiler_static_works_F77=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -14635,30 +15125,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
else
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; }
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
:
else
lt_prog_compiler_static_F77=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_F77=no
$rm -r conftest 2>/dev/null
@@ -14676,11 +15166,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14679: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15169: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14683: \$? = $ac_status" >&5
+ echo "$as_me:15173: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14702,34 +15192,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -14760,12 +15250,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -14824,7 +15315,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_F77=no
@@ -15043,7 +15534,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -15063,7 +15554,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -15148,18 +15639,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -15174,12 +15668,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -15204,18 +15699,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_f77_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -15230,12 +15728,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -15315,11 +15814,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_F77=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -15688,8 +16186,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+$as_echo "$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
#
@@ -15709,15 +16207,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -15735,7 +16233,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_F77=no
@@ -15747,16 +16245,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+$as_echo "$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15788,7 +16286,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -16307,17 +16805,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -16341,8 +16854,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+$as_echo "$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -16394,6 +16907,7 @@ if test -f "$ltmain"; then
predeps_F77 \
postdeps_F77 \
compiler_lib_search_path_F77 \
+ compiler_lib_search_dirs_F77 \
archive_cmds_F77 \
archive_expsym_cmds_F77 \
postinstall_cmds_F77 \
@@ -16642,6 +17156,10 @@ predeps=$lt_predeps_F77
# shared library.
postdeps=$lt_postdeps_F77
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_F77
@@ -16816,7 +17334,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -16847,10 +17365,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -16865,11 +17383,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16868: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17386: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16872: \$? = $ac_status" >&5
+ echo "$as_me:17390: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16882,8 +17400,8 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -16897,8 +17415,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16929,7 +17447,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
;;
darwin* | rhapsody*)
@@ -16999,7 +17517,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
;;
hpux9* | hpux10* | hpux11*)
@@ -17129,20 +17647,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+$as_echo "$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_GCJ=no
+ lt_cv_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
@@ -17155,27 +17673,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17158: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17676: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17162: \$? = $ac_status" >&5
+ echo "$as_me:17680: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
+ lt_cv_prog_compiler_pic_works_GCJ=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
"" | " "*) ;;
*) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
@@ -17200,12 +17718,12 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_GCJ=no
+ lt_cv_prog_compiler_static_works_GCJ=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -17218,30 +17736,30 @@ else
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
else
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
:
else
lt_prog_compiler_static_GCJ=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_GCJ=no
$rm -r conftest 2>/dev/null
@@ -17259,11 +17777,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17262: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17780: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17266: \$? = $ac_status" >&5
+ echo "$as_me:17784: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17285,34 +17803,34 @@ else
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -17343,12 +17861,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
@@ -17407,7 +17926,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_GCJ=no
@@ -17626,7 +18145,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -17646,7 +18165,7 @@ _LT_EOF
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
@@ -17741,18 +18260,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -17767,12 +18289,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17807,18 +18330,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -17833,12 +18359,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17918,11 +18445,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
link_all_deplibs_GCJ=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
@@ -18291,8 +18817,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+$as_echo "$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
#
@@ -18312,15 +18838,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -18338,7 +18864,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_GCJ=no
@@ -18350,16 +18876,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+$as_echo "$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -18391,7 +18917,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -18910,17 +19436,32 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_GCJ=
if test -n "$hardcode_libdir_flag_spec_GCJ" || \
test -n "$runpath_var_GCJ" || \
@@ -18944,8 +19485,8 @@ else
# directories.
hardcode_action_GCJ=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+$as_echo "$hardcode_action_GCJ" >&6; }
if test "$hardcode_action_GCJ" = relink; then
# Fast installation is not supported
@@ -18997,6 +19538,7 @@ if test -f "$ltmain"; then
predeps_GCJ \
postdeps_GCJ \
compiler_lib_search_path_GCJ \
+ compiler_lib_search_dirs_GCJ \
archive_cmds_GCJ \
archive_expsym_cmds_GCJ \
postinstall_cmds_GCJ \
@@ -19245,6 +19787,10 @@ predeps=$lt_predeps_GCJ
# shared library.
postdeps=$lt_postdeps_GCJ
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
@@ -19418,7 +19964,7 @@ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
@@ -19478,6 +20024,7 @@ if test -f "$ltmain"; then
predeps_RC \
postdeps_RC \
compiler_lib_search_path_RC \
+ compiler_lib_search_dirs_RC \
archive_cmds_RC \
archive_expsym_cmds_RC \
postinstall_cmds_RC \
@@ -19726,6 +20273,10 @@ predeps=$lt_predeps_RC
# shared library.
postdeps=$lt_postdeps_RC
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_RC
@@ -19858,8 +20409,8 @@ CC="$lt_save_CC"
;;
*)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
@@ -19878,8 +20429,8 @@ echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
chmod +x "$ofile"
else
rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+ { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -19928,10 +20479,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -19944,7 +20495,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19955,11 +20506,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19972,10 +20523,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -19988,7 +20539,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19999,11 +20550,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20015,12 +20566,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -20030,43 +20577,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20092,20 +20643,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -20115,15 +20667,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -20150,20 +20706,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -20188,20 +20745,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -20227,20 +20785,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -20255,8 +20814,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -20280,10 +20839,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -20371,8 +20930,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -20394,8 +20953,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking if C++ compiler supports the use of a particular specialization when calling operator() template methods." >&5
-echo $ECHO_N "checking if C++ compiler supports the use of a particular specialization when calling operator() template methods.... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler supports the use of a particular specialization when calling operator() template methods." >&5
+$as_echo_n "checking if C++ compiler supports the use of a particular specialization when calling operator() template methods.... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20448,13 +21007,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -20466,25 +21026,25 @@ cat >>confdefs.h <<\_ACEOF
#define SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
_ACEOF
- { echo "$as_me:$LINENO: result: $sigcm_cxx_gcc_template_specialization_operator_overload" >&5
-echo "${ECHO_T}$sigcm_cxx_gcc_template_specialization_operator_overload" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_gcc_template_specialization_operator_overload" >&5
+$as_echo "$sigcm_cxx_gcc_template_specialization_operator_overload" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
sigcm_cxx_gcc_template_specialization_operator_overload=no
- { echo "$as_me:$LINENO: result: $sigcm_cxx_gcc_template_specialization_operator_overload" >&5
-echo "${ECHO_T}$sigcm_cxx_gcc_template_specialization_operator_overload" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_gcc_template_specialization_operator_overload" >&5
+$as_echo "$sigcm_cxx_gcc_template_specialization_operator_overload" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking if C++ compiler supports the use of a particular specialization when calling operator() template methods omitting the template keyword." >&5
-echo $ECHO_N "checking if C++ compiler supports the use of a particular specialization when calling operator() template methods omitting the template keyword.... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler supports the use of a particular specialization when calling operator() template methods omitting the template keyword." >&5
+$as_echo_n "checking if C++ compiler supports the use of a particular specialization when calling operator() template methods omitting the template keyword.... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20537,13 +21097,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -20555,25 +21116,25 @@ cat >>confdefs.h <<\_ACEOF
#define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
_ACEOF
- { echo "$as_me:$LINENO: result: $sigcm_cxx_msvc_template_specialization_operator_overload" >&5
-echo "${ECHO_T}$sigcm_cxx_msvc_template_specialization_operator_overload" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_msvc_template_specialization_operator_overload" >&5
+$as_echo "$sigcm_cxx_msvc_template_specialization_operator_overload" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
sigcm_cxx_msvc_template_specialization_operator_overload=no
- { echo "$as_me:$LINENO: result: $sigcm_cxx_msvc_template_specialization_operator_overload" >&5
-echo "${ECHO_T}$sigcm_cxx_msvc_template_specialization_operator_overload" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_msvc_template_specialization_operator_overload" >&5
+$as_echo "$sigcm_cxx_msvc_template_specialization_operator_overload" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking if C++ compiler allows usage of member function in initialization of static member field." >&5
-echo $ECHO_N "checking if C++ compiler allows usage of member function in initialization of static member field.... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if C++ compiler allows usage of member function in initialization of static member field." >&5
+$as_echo_n "checking if C++ compiler allows usage of member function in initialization of static member field.... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20605,13 +21166,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -20623,27 +21185,27 @@ cat >>confdefs.h <<\_ACEOF
#define SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION 1
_ACEOF
- { echo "$as_me:$LINENO: result: $sigcm_cxx_self_reference_in_member_initialization" >&5
-echo "${ECHO_T}$sigcm_cxx_self_reference_in_member_initialization" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_self_reference_in_member_initialization" >&5
+$as_echo "$sigcm_cxx_self_reference_in_member_initialization" >&6; }
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
sigcm_cxx_self_reference_in_member_initialization=no
- { echo "$as_me:$LINENO: result: $sigcm_cxx_self_reference_in_member_initialization" >&5
-echo "${ECHO_T}$sigcm_cxx_self_reference_in_member_initialization" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $sigcm_cxx_self_reference_in_member_initialization" >&5
+$as_echo "$sigcm_cxx_self_reference_in_member_initialization" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
-echo $ECHO_N "checking whether C++ library symbols are declared in namespace std... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether C++ library symbols are declared in namespace std" >&5
+$as_echo_n "checking whether C++ library symbols are declared in namespace std... " >&6; }
if test "${sigc_cv_cxx_has_namespace_std+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20680,20 +21242,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
sigc_cv_cxx_has_namespace_std="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
sigc_cv_cxx_has_namespace_std="no"
@@ -20703,8 +21266,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $sigc_cv_cxx_has_namespace_std" >&5
-echo "${ECHO_T}$sigc_cv_cxx_has_namespace_std" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $sigc_cv_cxx_has_namespace_std" >&5
+$as_echo "$sigc_cv_cxx_has_namespace_std" >&6; }
if test "x${sigc_cv_cxx_has_namespace_std}" = "xyes"; then
{
@@ -20719,10 +21282,10 @@ _ACEOF
- { echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
-echo $ECHO_N "checking for non-standard Sun libCstd reverse_iterator... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-standard Sun libCstd reverse_iterator" >&5
+$as_echo_n "checking for non-standard Sun libCstd reverse_iterator... " >&6; }
if test "${sigc_cv_cxx_has_sun_reverse_iterator+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -20753,20 +21316,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
sigc_cv_cxx_has_sun_reverse_iterator="yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
sigc_cv_cxx_has_sun_reverse_iterator="no"
@@ -20776,8 +21340,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $sigc_cv_cxx_has_sun_reverse_iterator" >&5
-echo "${ECHO_T}$sigc_cv_cxx_has_sun_reverse_iterator" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $sigc_cv_cxx_has_sun_reverse_iterator" >&5
+$as_echo "$sigc_cv_cxx_has_sun_reverse_iterator" >&6; }
if test "x${sigc_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
{
@@ -20790,11 +21354,11 @@ _ACEOF
if test "X$config_error" = "Xyes" ; then
- { { echo "$as_me:$LINENO: error: One or more of the required compiler features is missing.
+ { { $as_echo "$as_me:$LINENO: error: One or more of the required compiler features is missing.
If you believe this is in error, please consult the config.log file
for further details.
" >&5
-echo "$as_me: error: One or more of the required compiler features is missing.
+$as_echo "$as_me: error: One or more of the required compiler features is missing.
If you believe this is in error, please consult the config.log file
for further details.
" >&2;}
@@ -20832,11 +21396,12 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -20869,12 +21434,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -20890,7 +21455,7 @@ ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -20902,54 +21467,55 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${PLATFORM_WIN32_TRUE}" && test -z "${PLATFORM_WIN32_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"PLATFORM_WIN32\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"PLATFORM_WIN32\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PLATFORM_WIN32\" was never defined.
+$as_echo "$as_me: error: conditional \"PLATFORM_WIN32\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -20962,7 +21528,7 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -20972,7 +21538,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -20994,17 +21560,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -21020,8 +21614,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -21044,7 +21636,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -21057,17 +21649,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -21089,7 +21674,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -21140,7 +21725,7 @@ $as_unset CDPATH
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -21168,7 +21753,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -21181,19 +21765,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -21218,10 +21805,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -21244,7 +21831,7 @@ exec 6>&1
# values after options handling.
ac_log="
This file was extended by libsigc++ $as_me 2.2.2, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -21257,7 +21844,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
@@ -21265,22 +21861,23 @@ config_commands="$ac_config_commands"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -21294,13 +21891,13 @@ $config_commands
Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
libsigc++ config.status 2.2.2
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -21308,11 +21905,12 @@ ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
@@ -21334,30 +21932,36 @@ do
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
+ $as_echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
+ { $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; };;
--help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
@@ -21376,27 +21980,29 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ exec "\$@"
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- echo "$ac_log"
+ $as_echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
@@ -21404,7 +22010,7 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
@@ -21418,8 +22024,8 @@ do
"scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
"libsigc++-2.0.spec") CONFIG_FILES="$CONFIG_FILES libsigc++-2.0.spec" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
@@ -21460,225 +22066,144 @@ $debug ||
(umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-FP_VERSION!$FP_VERSION$ac_delim
-FP_RELEASE!$FP_RELEASE$ac_delim
-FP_MAJOR_VERSION!$FP_MAJOR_VERSION$ac_delim
-FP_MINOR_VERSION!$FP_MINOR_VERSION$ac_delim
-FP_MICRO_VERSION!$FP_MICRO_VERSION$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-M4!$M4$ac_delim
-PERL_PATH!$PERL_PATH$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CPP!$CPP$ac_delim
-PLATFORM_WIN32_TRUE!$PLATFORM_WIN32_TRUE$ac_delim
-PLATFORM_WIN32_FALSE!$PLATFORM_WIN32_FALSE$ac_delim
-SED!$SED$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ac_cr='
'
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-DLLTOOL!$DLLTOOL$ac_delim
-AS!$AS$ac_delim
-OBJDUMP!$OBJDUMP$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 22; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
+rm -f conf$$subs.sh
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
_ACEOF
-
# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
@@ -21694,19 +22219,133 @@ s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -21735,26 +22374,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
{ (exit 1); exit 1; }; };;
esac
- ac_file_inputs="$ac_file_inputs $ac_f"
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
esac
;;
esac
@@ -21764,7 +22415,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21790,7 +22441,7 @@ echo X"$ac_file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -21799,7 +22450,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21820,17 +22471,17 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -21875,12 +22526,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
p
q
}
@@ -21889,13 +22541,14 @@ case `sed -n '/datarootdir/ {
/@infodir@/p
/@localedir@/p
/@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
@@ -21909,15 +22562,16 @@ _ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -21928,121 +22582,60 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
;;
:H)
#
# CONFIG_HEADER
#
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
fi
else
- echo "/* $configure_input */"
- cat "$ac_result"
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
@@ -22057,7 +22650,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
+$as_echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22077,8 +22670,8 @@ echo X"$_am_arg" |
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
@@ -22100,7 +22693,7 @@ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22144,7 +22737,7 @@ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
+$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22170,7 +22763,7 @@ echo X"$file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -22179,7 +22772,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22200,8 +22793,8 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
@@ -22218,6 +22811,11 @@ _ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -22239,4 +22837,8 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
diff --git a/libs/sigc++2/scripts/Makefile b/libs/sigc++2/scripts/Makefile
index 9c18df5..fc54018 100644
--- a/libs/sigc++2/scripts/Makefile
+++ b/libs/sigc++2/scripts/Makefile
@@ -29,8 +29,8 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
subdir = scripts
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -65,6 +65,7 @@ CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DLLTOOL = dlltool
+DSYMUTIL =
ECHO = echo
ECHO_C =
ECHO_N = -n
@@ -94,6 +95,7 @@ M4 = m4
MAINT = #
MAKEINFO = ${SHELL} /usr/local/music/src/ardour/2.0-ongoing/libs/sigc++2/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
+NMEDIT =
OBJDUMP = objdump
OBJEXT = o
PACKAGE = libsigc++
@@ -123,22 +125,22 @@ am__quote =
am__tar = tar --format=ustar -chf - "$$tardir"
am__untar = tar -xf -
bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
+build = x86_64-unknown-linux-gnu
build_alias =
-build_cpu = i686
+build_cpu = x86_64
build_os = linux-gnu
-build_vendor = pc
+build_vendor = unknown
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
+host = x86_64-unknown-linux-gnu
host_alias =
-host_cpu = i686
+host_cpu = x86_64
host_os = linux-gnu
-host_vendor = pc
+host_vendor = unknown
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
@@ -159,6 +161,7 @@ sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
+top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
EXTRA_DIST = cxx.m4 cxx_std.m4
diff --git a/libs/sigc++2/scripts/Makefile.in b/libs/sigc++2/scripts/Makefile.in
index 582596a..92f155e 100644
--- a/libs/sigc++2/scripts/Makefile.in
+++ b/libs/sigc++2/scripts/Makefile.in
@@ -65,6 +65,7 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -94,6 +95,7 @@ M4 = @M4@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
@@ -159,6 +161,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = cxx.m4 cxx_std.m4
diff --git a/libs/sigc++2/sigc++/Makefile.in b/libs/sigc++2/sigc++/Makefile.in
index e8a8993..2c59490 100644
--- a/libs/sigc++2/sigc++/Makefile.in
+++ b/libs/sigc++2/sigc++/Makefile.in
@@ -100,6 +100,7 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@@ -129,6 +130,7 @@ M4 = @M4@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
@@ -194,6 +196,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
diff --git a/libs/sigc++2/sigc++config.h b/libs/sigc++2/sigc++config.h
index 48c97b3..7a20561 100644
--- a/libs/sigc++2/sigc++config.h
+++ b/libs/sigc++2/sigc++config.h
@@ -53,7 +53,7 @@
//
#pragma warning(disable:4251)
- #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+ #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
#define SIGC_NEW_DELETE_IN_LIBRARY_ONLY // To keep ABI compatibility
#define SIGC_HAVE_NAMESPACE_STD 1
diff --git a/libs/soundtouch/AAFilter.cpp b/libs/soundtouch/AAFilter.cpp
index 4f7f033..f08caf9 100644
--- a/libs/soundtouch/AAFilter.cpp
+++ b/libs/soundtouch/AAFilter.cpp
@@ -12,7 +12,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: AAFilter.cpp 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/soundtouch/FIFOSampleBuffer.cpp b/libs/soundtouch/FIFOSampleBuffer.cpp
index be8fa5f..52ede84 100644
--- a/libs/soundtouch/FIFOSampleBuffer.cpp
+++ b/libs/soundtouch/FIFOSampleBuffer.cpp
@@ -15,7 +15,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: FIFOSampleBuffer.cpp 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/soundtouch/FIFOSamplePipe.h b/libs/soundtouch/FIFOSamplePipe.h
index 489d15b..9772d7b 100644
--- a/libs/soundtouch/FIFOSamplePipe.h
+++ b/libs/soundtouch/FIFOSamplePipe.h
@@ -17,7 +17,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: FIFOSamplePipe.h 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/soundtouch/FIRFilter.cpp b/libs/soundtouch/FIRFilter.cpp
index b4dc7fb..55d5e55 100644
--- a/libs/soundtouch/FIRFilter.cpp
+++ b/libs/soundtouch/FIRFilter.cpp
@@ -11,7 +11,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: FIRFilter.cpp 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/soundtouch/RateTransposer.cpp b/libs/soundtouch/RateTransposer.cpp
index 3adb760..69044dc 100644
--- a/libs/soundtouch/RateTransposer.cpp
+++ b/libs/soundtouch/RateTransposer.cpp
@@ -10,7 +10,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: RateTransposer.cpp 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/soundtouch/TDStretch.cpp b/libs/soundtouch/TDStretch.cpp
index aedcd96..1132acf 100644
--- a/libs/soundtouch/TDStretch.cpp
+++ b/libs/soundtouch/TDStretch.cpp
@@ -13,7 +13,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2008-07-10 20:37:26 +0200 (Thu, 10 Jul 2008) $
+// Last changed : $Date: 2008-07-10 14:37:26 -0400 (Thu, 10 Jul 2008) $
// File revision : $Revision: 3584 $
//
// $Id: TDStretch.cpp 3584 2008-07-10 18:37:26Z nostar $
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
index 90b6b4b..ba72819 100644
--- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
+++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
@@ -17,6 +17,9 @@
*/
+#define __STDC_FORMAT_MACROS 1
+#include <stdint.h>
+
#include <algorithm>
#include <pbd/error.h>
@@ -121,7 +124,7 @@ GenericMidiControlProtocol::_send_feedback ()
if (end == buf) {
return;
}
-
+
_port->write (buf, (int32_t) (end - buf));
}
@@ -228,9 +231,7 @@ GenericMidiControlProtocol::stop_learning (Controllable* c)
}
}
- if (dptr) {
- delete dptr;
- }
+ delete dptr;
}
void
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index de6623c..caf0172 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -293,7 +293,7 @@ void MackieControlProtocol::switch_banks( int initial )
cout << "remote id " << route->remote_control_id() << " connecting " << route->name() << " to " << strip.name() << " with port " << port_for_id(i) << endl;
#endif
route_table[i] = route;
- RouteSignal * rs = new RouteSignal( *route, *this, strip, port_for_id(i) );
+ RouteSignal * rs = new RouteSignal (route, *this, strip, port_for_id(i) );
route_signals.push_back( rs );
// update strip from route
rs->notify_all();
@@ -543,11 +543,13 @@ void MackieControlProtocol::update_surface()
switch_banks( _current_initial_bank );
// create a RouteSignal for the master route
- // but only the first time around
- master_route_signal = shared_ptr<RouteSignal>( new RouteSignal( *master_route(), *this, master_strip(), mcu_port() ) );
- // update strip from route
- master_route_signal->notify_all();
-
+ boost::shared_ptr<Route> mr = master_route ();
+ if (mr) {
+ master_route_signal = shared_ptr<RouteSignal> (new RouteSignal (mr, *this, master_strip(), mcu_port()) );
+ // update strip from route
+ master_route_signal->notify_all();
+ }
+
// sometimes the jog wheel is a pot
surface().blank_jog_ring( mcu_port(), builder );
@@ -656,13 +658,8 @@ void MackieControlProtocol::create_ports()
shared_ptr<Route> MackieControlProtocol::master_route()
{
- shared_ptr<Route> retval;
- retval = session->route_by_name( "master" );
- if ( retval == 0 )
- {
- // TODO search through all routes for one with the master attribute set
- }
- return retval;
+ boost::shared_ptr<IO> mo = session->master_out ();
+ return boost::dynamic_pointer_cast<Route>(mo);
}
Strip & MackieControlProtocol::master_strip()
@@ -966,7 +963,7 @@ void MackieControlProtocol::notify_solo_changed( RouteSignal * route_signal )
try
{
Button & button = route_signal->strip().solo();
- route_signal->port().write( builder.build_led( button, route_signal->route().soloed() ) );
+ route_signal->port().write( builder.build_led( button, route_signal->route()->soloed() ) );
}
catch( exception & e )
{
@@ -979,7 +976,7 @@ void MackieControlProtocol::notify_mute_changed( RouteSignal * route_signal )
try
{
Button & button = route_signal->strip().mute();
- route_signal->port().write( builder.build_led( button, route_signal->route().muted() ) );
+ route_signal->port().write( builder.build_led( button, route_signal->route()->muted() ) );
}
catch( exception & e )
{
@@ -992,7 +989,7 @@ void MackieControlProtocol::notify_record_enable_changed( RouteSignal * route_si
try
{
Button & button = route_signal->strip().recenable();
- route_signal->port().write( builder.build_led( button, route_signal->route().record_enabled() ) );
+ route_signal->port().write( builder.build_led( button, route_signal->route()->record_enabled() ) );
}
catch( exception & e )
{
@@ -1022,7 +1019,7 @@ void MackieControlProtocol::notify_gain_changed( RouteSignal * route_signal, boo
Fader & fader = route_signal->strip().gain();
if ( !fader.in_use() )
{
- float gain_value = route_signal->route().gain_control().get_value();
+ float gain_value = route_signal->route()->gain_control().get_value();
// check that something has actually changed
if ( force_update || gain_value != route_signal->last_gain_written() )
{
@@ -1045,7 +1042,7 @@ void MackieControlProtocol::notify_name_changed( void *, RouteSignal * route_sig
if ( !strip.is_master() )
{
string line1;
- string fullname = route_signal->route().name();
+ string fullname = route_signal->route()->name();
if ( fullname.length() <= 6 )
{
@@ -1072,11 +1069,11 @@ void MackieControlProtocol::notify_panner_changed( RouteSignal * route_signal, b
try
{
Pot & pot = route_signal->strip().vpot();
- const Panner & panner = route_signal->route().panner();
+ const Panner & panner = route_signal->route()->panner();
if ( panner.size() == 1 || ( panner.size() == 2 && panner.linked() ) )
{
float pos;
- route_signal->route().panner()[0]->get_effective_position( pos );
+ route_signal->route()->panner()[0]->get_effective_position( pos );
// cache the MidiByteArray here, because the mackie led control is much lower
// resolution than the panner control. So we save lots of byte
@@ -1103,13 +1100,13 @@ void MackieControlProtocol::notify_panner_changed( RouteSignal * route_signal, b
// TODO handle plugin automation polling
void MackieControlProtocol::update_automation( RouteSignal & rs )
{
- ARDOUR::AutoState gain_state = rs.route().gain_automation_state();
+ ARDOUR::AutoState gain_state = rs.route()->gain_automation_state();
if ( gain_state == Touch || gain_state == Play )
{
notify_gain_changed( &rs, false );
}
- ARDOUR::AutoState panner_state = rs.route().panner().automation_state();
+ ARDOUR::AutoState panner_state = rs.route()->panner().automation_state();
if ( panner_state == Touch || panner_state == Play )
{
notify_panner_changed( &rs, false );
diff --git a/libs/surfaces/mackie/route_signal.cc b/libs/surfaces/mackie/route_signal.cc
index 7822c7c..efe6054 100644
--- a/libs/surfaces/mackie/route_signal.cc
+++ b/libs/surfaces/mackie/route_signal.cc
@@ -25,6 +25,7 @@
#include <stdexcept>
+using namespace ARDOUR;
using namespace Mackie;
using namespace std;
@@ -33,39 +34,30 @@ void RouteSignal::connect()
back_insert_iterator<Connections> cins = back_inserter( _connections );
if ( _strip.has_solo() )
- cins = _route.solo_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_solo_changed ), this ) );
+ cins = _route->solo_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_solo_changed ), this ) );
if ( _strip.has_mute() )
- cins = _route.mute_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_mute_changed ), this ) );
+ cins = _route->mute_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_mute_changed ), this ) );
if ( _strip.has_gain() )
- cins = _route.gain_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_gain_changed ), this, true ) );
+ cins = _route->gain_control().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_gain_changed ), this, true ) );
- cins = _route.name_changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_name_changed ), this ) );
+ cins = _route->name_changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_name_changed ), this ) );
- cins = _route.panner().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_panner_changed ), this, true ) );
- for ( unsigned int i = 0; i < _route.panner().size(); ++i )
+ cins = _route->panner().Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_panner_changed ), this, true ) );
+ for ( unsigned int i = 0; i < _route->panner().size(); ++i )
{
- cins = _route.panner()[i]->Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_panner_changed ), this, true ) );
+ cins = _route->panner()[i]->Changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_panner_changed ), this, true ) );
}
- try
- {
- cins = dynamic_cast<ARDOUR::Track&>( _route )
- .rec_enable_control()
- .Changed
- .connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_record_enable_changed ), this ) )
- ;
- }
- catch ( std::bad_cast & )
- {
- // this should catch the dynamic_cast to Track, if what we're working
- // with can't be record-enabled
+ boost::shared_ptr<Track> trk = boost::dynamic_pointer_cast<ARDOUR::Track>(_route);
+ if (trk) {
+ cins = trk->rec_enable_control() .Changed .connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_record_enable_changed ), this));
}
-
+
// TODO this works when a currently-banked route is made inactive, but not
// when a route is activated which should be currently banked.
- cins = _route.active_changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_active_changed ), this ) );
+ cins = _route->active_changed.connect( sigc::bind ( mem_fun ( _mcp, &MackieControlProtocol::notify_active_changed ), this ) );
// TODO
// SelectedChanged
diff --git a/libs/surfaces/mackie/route_signal.h b/libs/surfaces/mackie/route_signal.h
index 01b3c97..a272449 100644
--- a/libs/surfaces/mackie/route_signal.h
+++ b/libs/surfaces/mackie/route_signal.h
@@ -19,6 +19,7 @@
#define route_signal_h
#include <sigc++/sigc++.h>
+#include <boost/shared_ptr.hpp>
#include <vector>
@@ -45,7 +46,7 @@ class SurfacePort;
class RouteSignal
{
public:
- RouteSignal( ARDOUR::Route & route, MackieControlProtocol & mcp, Strip & strip, SurfacePort & port )
+ RouteSignal(boost::shared_ptr<ARDOUR::Route> route, MackieControlProtocol & mcp, Strip & strip, SurfacePort & port )
: _route( route ), _mcp( mcp ), _strip( strip ), _port( port ), _last_gain_written(0.0)
{
connect();
@@ -62,7 +63,7 @@ public:
// call all signal handlers manually
void notify_all();
- const ARDOUR::Route & route() const { return _route; }
+ boost::shared_ptr<const ARDOUR::Route> route() const { return _route; }
Strip & strip() { return _strip; }
SurfacePort & port() { return _port; }
@@ -73,7 +74,7 @@ public:
void last_pan_written( const MidiByteArray & other ) { _last_pan_written = other; }
private:
- ARDOUR::Route & _route;
+ boost::shared_ptr<ARDOUR::Route> _route;
MackieControlProtocol & _mcp;
Strip & _strip;
SurfacePort & _port;
diff --git a/libs/vamp-sdk/SConscript b/libs/vamp-sdk/SConscript
index e2d602e..f49705d 100644
--- a/libs/vamp-sdk/SConscript
+++ b/libs/vamp-sdk/SConscript
@@ -5,18 +5,18 @@ import os.path
import glob
vampsdk_files = Split ("""
-vamp-sdk/PluginAdapter.cpp
-vamp-sdk/RealTime.cpp
+src/vamp-sdk/PluginAdapter.cpp
+src/vamp-sdk/RealTime.cpp
""")
vamphostsdk_files = Split ("""
-vamp-sdk/PluginHostAdapter.cpp
-vamp-sdk/hostext/PluginBufferingAdapter.cpp
-vamp-sdk/hostext/PluginChannelAdapter.cpp
-vamp-sdk/hostext/PluginInputDomainAdapter.cpp
-vamp-sdk/hostext/PluginLoader.cpp
-vamp-sdk/hostext/PluginWrapper.cpp
-vamp-sdk/RealTime.cpp
+src/vamp-hostsdk/PluginHostAdapter.cpp
+src/vamp-hostsdk/PluginBufferingAdapter.cpp
+src/vamp-hostsdk/PluginChannelAdapter.cpp
+src/vamp-hostsdk/PluginInputDomainAdapter.cpp
+src/vamp-hostsdk/PluginLoader.cpp
+src/vamp-hostsdk/PluginWrapper.cpp
+src/vamp-hostsdk/RealTime.cpp
""")
Import('env install_prefix libraries')
@@ -43,4 +43,4 @@ env.Alias('tarball', env.Distribute (env['DISTTREE'],
vamphostsdk_files +
glob.glob('vamp/*.h') +
glob.glob('vamp-sdk/*.h') +
- glob.glob('vamp-sdk/hostext/*.h')))
+ glob.glob('vamp-hostsdk/*.h')))
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginBufferingAdapter.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginBufferingAdapter.cpp
new file mode 100644
index 0000000..0aa92d9
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginBufferingAdapter.cpp
@@ -0,0 +1,712 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+ This file by Mark Levy and Chris Cannam, Copyright 2007-2008 QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vector>
+#include <map>
+
+#include <vamp-hostsdk/PluginBufferingAdapter.h>
+
+using std::vector;
+using std::map;
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginBufferingAdapter.cpp)
+
+namespace Vamp {
+
+namespace HostExt {
+
+class PluginBufferingAdapter::Impl
+{
+public:
+ Impl(Plugin *plugin, float inputSampleRate);
+ ~Impl();
+
+ void setPluginStepSize(size_t stepSize);
+ void setPluginBlockSize(size_t blockSize);
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ void getActualStepAndBlockSizes(size_t &stepSize, size_t &blockSize);
+
+ OutputList getOutputDescriptors() const;
+
+ void setParameter(std::string, float);
+ void selectProgram(std::string);
+
+ void reset();
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ FeatureSet getRemainingFeatures();
+
+protected:
+ class RingBuffer
+ {
+ public:
+ RingBuffer(int n) :
+ m_buffer(new float[n+1]), m_writer(0), m_reader(0), m_size(n+1) { }
+ virtual ~RingBuffer() { delete[] m_buffer; }
+
+ int getSize() const { return m_size-1; }
+ void reset() { m_writer = 0; m_reader = 0; }
+
+ int getReadSpace() const {
+ int writer = m_writer, reader = m_reader, space;
+ if (writer > reader) space = writer - reader;
+ else if (writer < reader) space = (writer + m_size) - reader;
+ else space = 0;
+ return space;
+ }
+
+ int getWriteSpace() const {
+ int writer = m_writer;
+ int reader = m_reader;
+ int space = (reader + m_size - writer - 1);
+ if (space >= m_size) space -= m_size;
+ return space;
+ }
+
+ int peek(float *destination, int n) const {
+
+ int available = getReadSpace();
+
+ if (n > available) {
+ for (int i = available; i < n; ++i) {
+ destination[i] = 0.f;
+ }
+ n = available;
+ }
+ if (n == 0) return n;
+
+ int reader = m_reader;
+ int here = m_size - reader;
+ const float *const bufbase = m_buffer + reader;
+
+ if (here >= n) {
+ for (int i = 0; i < n; ++i) {
+ destination[i] = bufbase[i];
+ }
+ } else {
+ for (int i = 0; i < here; ++i) {
+ destination[i] = bufbase[i];
+ }
+ float *const destbase = destination + here;
+ const int nh = n - here;
+ for (int i = 0; i < nh; ++i) {
+ destbase[i] = m_buffer[i];
+ }
+ }
+
+ return n;
+ }
+
+ int skip(int n) {
+
+ int available = getReadSpace();
+ if (n > available) {
+ n = available;
+ }
+ if (n == 0) return n;
+
+ int reader = m_reader;
+ reader += n;
+ while (reader >= m_size) reader -= m_size;
+ m_reader = reader;
+ return n;
+ }
+
+ int write(const float *source, int n) {
+
+ int available = getWriteSpace();
+ if (n > available) {
+ n = available;
+ }
+ if (n == 0) return n;
+
+ int writer = m_writer;
+ int here = m_size - writer;
+ float *const bufbase = m_buffer + writer;
+
+ if (here >= n) {
+ for (int i = 0; i < n; ++i) {
+ bufbase[i] = source[i];
+ }
+ } else {
+ for (int i = 0; i < here; ++i) {
+ bufbase[i] = source[i];
+ }
+ const int nh = n - here;
+ const float *const srcbase = source + here;
+ float *const buf = m_buffer;
+ for (int i = 0; i < nh; ++i) {
+ buf[i] = srcbase[i];
+ }
+ }
+
+ writer += n;
+ while (writer >= m_size) writer -= m_size;
+ m_writer = writer;
+
+ return n;
+ }
+
+ int zero(int n) {
+
+ int available = getWriteSpace();
+ if (n > available) {
+ n = available;
+ }
+ if (n == 0) return n;
+
+ int writer = m_writer;
+ int here = m_size - writer;
+ float *const bufbase = m_buffer + writer;
+
+ if (here >= n) {
+ for (int i = 0; i < n; ++i) {
+ bufbase[i] = 0.f;
+ }
+ } else {
+ for (int i = 0; i < here; ++i) {
+ bufbase[i] = 0.f;
+ }
+ const int nh = n - here;
+ for (int i = 0; i < nh; ++i) {
+ m_buffer[i] = 0.f;
+ }
+ }
+
+ writer += n;
+ while (writer >= m_size) writer -= m_size;
+ m_writer = writer;
+
+ return n;
+ }
+
+ protected:
+ float *m_buffer;
+ int m_writer;
+ int m_reader;
+ int m_size;
+
+ private:
+ RingBuffer(const RingBuffer &); // not provided
+ RingBuffer &operator=(const RingBuffer &); // not provided
+ };
+
+ Plugin *m_plugin;
+ size_t m_inputStepSize; // value passed to wrapper initialise()
+ size_t m_inputBlockSize; // value passed to wrapper initialise()
+ size_t m_setStepSize; // value passed to setPluginStepSize()
+ size_t m_setBlockSize; // value passed to setPluginBlockSize()
+ size_t m_stepSize; // value actually used to initialise plugin
+ size_t m_blockSize; // value actually used to initialise plugin
+ size_t m_channels;
+ vector<RingBuffer *> m_queue;
+ float **m_buffers;
+ float m_inputSampleRate;
+ long m_frame;
+ bool m_unrun;
+ mutable OutputList m_outputs;
+ mutable std::map<int, bool> m_rewriteOutputTimes;
+
+ void processBlock(FeatureSet& allFeatureSets);
+};
+
+PluginBufferingAdapter::PluginBufferingAdapter(Plugin *plugin) :
+ PluginWrapper(plugin)
+{
+ m_impl = new Impl(plugin, m_inputSampleRate);
+}
+
+PluginBufferingAdapter::~PluginBufferingAdapter()
+{
+ delete m_impl;
+}
+
+size_t
+PluginBufferingAdapter::getPreferredStepSize() const
+{
+ return getPreferredBlockSize();
+}
+
+size_t
+PluginBufferingAdapter::getPreferredBlockSize() const
+{
+ return PluginWrapper::getPreferredBlockSize();
+}
+
+size_t
+PluginBufferingAdapter::getPluginPreferredStepSize() const
+{
+ return PluginWrapper::getPreferredStepSize();
+}
+
+size_t
+PluginBufferingAdapter::getPluginPreferredBlockSize() const
+{
+ return PluginWrapper::getPreferredBlockSize();
+}
+
+void
+PluginBufferingAdapter::setPluginStepSize(size_t stepSize)
+{
+ m_impl->setPluginStepSize(stepSize);
+}
+
+void
+PluginBufferingAdapter::setPluginBlockSize(size_t blockSize)
+{
+ m_impl->setPluginBlockSize(blockSize);
+}
+
+void
+PluginBufferingAdapter::getActualStepAndBlockSizes(size_t &stepSize,
+ size_t &blockSize)
+{
+ m_impl->getActualStepAndBlockSizes(stepSize, blockSize);
+}
+
+bool
+PluginBufferingAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ return m_impl->initialise(channels, stepSize, blockSize);
+}
+
+PluginBufferingAdapter::OutputList
+PluginBufferingAdapter::getOutputDescriptors() const
+{
+ return m_impl->getOutputDescriptors();
+}
+
+void
+PluginBufferingAdapter::setParameter(std::string name, float value)
+{
+ m_impl->setParameter(name, value);
+}
+
+void
+PluginBufferingAdapter::selectProgram(std::string name)
+{
+ m_impl->selectProgram(name);
+}
+
+void
+PluginBufferingAdapter::reset()
+{
+ m_impl->reset();
+}
+
+PluginBufferingAdapter::FeatureSet
+PluginBufferingAdapter::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+ return m_impl->process(inputBuffers, timestamp);
+}
+
+PluginBufferingAdapter::FeatureSet
+PluginBufferingAdapter::getRemainingFeatures()
+{
+ return m_impl->getRemainingFeatures();
+}
+
+PluginBufferingAdapter::Impl::Impl(Plugin *plugin, float inputSampleRate) :
+ m_plugin(plugin),
+ m_inputStepSize(0),
+ m_inputBlockSize(0),
+ m_setStepSize(0),
+ m_setBlockSize(0),
+ m_stepSize(0),
+ m_blockSize(0),
+ m_channels(0),
+ m_queue(0),
+ m_buffers(0),
+ m_inputSampleRate(inputSampleRate),
+ m_frame(0),
+ m_unrun(true)
+{
+ (void)getOutputDescriptors(); // set up m_outputs and m_rewriteOutputTimes
+}
+
+PluginBufferingAdapter::Impl::~Impl()
+{
+ // the adapter will delete the plugin
+
+ for (size_t i = 0; i < m_channels; ++i) {
+ delete m_queue[i];
+ delete[] m_buffers[i];
+ }
+ delete[] m_buffers;
+}
+
+void
+PluginBufferingAdapter::Impl::setPluginStepSize(size_t stepSize)
+{
+ if (m_inputStepSize != 0) {
+ std::cerr << "PluginBufferingAdapter::setPluginStepSize: ERROR: Cannot be called after initialise()" << std::endl;
+ return;
+ }
+ m_setStepSize = stepSize;
+}
+
+void
+PluginBufferingAdapter::Impl::setPluginBlockSize(size_t blockSize)
+{
+ if (m_inputBlockSize != 0) {
+ std::cerr << "PluginBufferingAdapter::setPluginBlockSize: ERROR: Cannot be called after initialise()" << std::endl;
+ return;
+ }
+ m_setBlockSize = blockSize;
+}
+
+void
+PluginBufferingAdapter::Impl::getActualStepAndBlockSizes(size_t &stepSize,
+ size_t &blockSize)
+{
+ stepSize = m_stepSize;
+ blockSize = m_blockSize;
+}
+
+bool
+PluginBufferingAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ if (stepSize != blockSize) {
+ std::cerr << "PluginBufferingAdapter::initialise: input stepSize must be equal to blockSize for this adapter (stepSize = " << stepSize << ", blockSize = " << blockSize << ")" << std::endl;
+ return false;
+ }
+
+ m_channels = channels;
+ m_inputStepSize = stepSize;
+ m_inputBlockSize = blockSize;
+
+ // if the user has requested particular step or block sizes, use
+ // those; otherwise use the step and block sizes which the plugin
+ // prefers
+
+ m_stepSize = 0;
+ m_blockSize = 0;
+
+ if (m_setStepSize > 0) {
+ m_stepSize = m_setStepSize;
+ }
+ if (m_setBlockSize > 0) {
+ m_blockSize = m_setBlockSize;
+ }
+
+ if (m_stepSize == 0 && m_blockSize == 0) {
+ m_stepSize = m_plugin->getPreferredStepSize();
+ m_blockSize = m_plugin->getPreferredBlockSize();
+ }
+
+ bool freq = (m_plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain);
+
+ // or sensible defaults if it has no preference
+ if (m_blockSize == 0) {
+ if (m_stepSize == 0) {
+ m_blockSize = 1024;
+ if (freq) {
+ m_stepSize = m_blockSize / 2;
+ } else {
+ m_stepSize = m_blockSize;
+ }
+ } else if (freq) {
+ m_blockSize = m_stepSize * 2;
+ } else {
+ m_blockSize = m_stepSize;
+ }
+ } else if (m_stepSize == 0) { // m_blockSize != 0 (that was handled above)
+ if (freq) {
+ m_stepSize = m_blockSize/2;
+ } else {
+ m_stepSize = m_blockSize;
+ }
+ }
+
+ // current implementation breaks if step is greater than block
+ if (m_stepSize > m_blockSize) {
+ size_t newBlockSize;
+ if (freq) {
+ newBlockSize = m_stepSize * 2;
+ } else {
+ newBlockSize = m_stepSize;
+ }
+ std::cerr << "PluginBufferingAdapter::initialise: WARNING: step size " << m_stepSize << " is greater than block size " << m_blockSize << ": cannot handle this in adapter; adjusting block size to " << newBlockSize << std::endl;
+ m_blockSize = newBlockSize;
+ }
+
+// std::cerr << "PluginBufferingAdapter::initialise: NOTE: stepSize " << m_inputStepSize << " -> " << m_stepSize
+// << ", blockSize " << m_inputBlockSize << " -> " << m_blockSize << std::endl;
+
+ m_buffers = new float *[m_channels];
+
+ for (size_t i = 0; i < m_channels; ++i) {
+ m_queue.push_back(new RingBuffer(m_blockSize + m_inputBlockSize));
+ m_buffers[i] = new float[m_blockSize];
+ }
+
+ bool success = m_plugin->initialise(m_channels, m_stepSize, m_blockSize);
+
+// std::cerr << "PluginBufferingAdapter::initialise: success = " << success << std::endl;
+
+ if (success) {
+ // Re-query outputs; properties such as bin count may have
+ // changed on initialise
+ m_outputs.clear();
+ (void)getOutputDescriptors();
+ }
+
+ return success;
+}
+
+PluginBufferingAdapter::OutputList
+PluginBufferingAdapter::Impl::getOutputDescriptors() const
+{
+ if (m_outputs.empty()) {
+// std::cerr << "PluginBufferingAdapter::getOutputDescriptors: querying anew" << std::endl;
+
+ m_outputs = m_plugin->getOutputDescriptors();
+ }
+
+ PluginBufferingAdapter::OutputList outs = m_outputs;
+
+ for (size_t i = 0; i < outs.size(); ++i) {
+
+ switch (outs[i].sampleType) {
+
+ case OutputDescriptor::OneSamplePerStep:
+ outs[i].sampleType = OutputDescriptor::FixedSampleRate;
+ outs[i].sampleRate = (1.f / m_inputSampleRate) * m_stepSize;
+ m_rewriteOutputTimes[i] = true;
+ break;
+
+ case OutputDescriptor::FixedSampleRate:
+ if (outs[i].sampleRate == 0.f) {
+ outs[i].sampleRate = (1.f / m_inputSampleRate) * m_stepSize;
+ }
+ // We actually only need to rewrite output times for
+ // features that don't have timestamps already, but we
+ // can't tell from here whether our features will have
+ // timestamps or not
+ m_rewriteOutputTimes[i] = true;
+ break;
+
+ case OutputDescriptor::VariableSampleRate:
+ m_rewriteOutputTimes[i] = false;
+ break;
+ }
+ }
+
+ return outs;
+}
+
+void
+PluginBufferingAdapter::Impl::setParameter(std::string name, float value)
+{
+ m_plugin->setParameter(name, value);
+
+ // Re-query outputs; properties such as bin count may have changed
+ m_outputs.clear();
+ (void)getOutputDescriptors();
+}
+
+void
+PluginBufferingAdapter::Impl::selectProgram(std::string name)
+{
+ m_plugin->selectProgram(name);
+
+ // Re-query outputs; properties such as bin count may have changed
+ m_outputs.clear();
+ (void)getOutputDescriptors();
+}
+
+void
+PluginBufferingAdapter::Impl::reset()
+{
+ m_frame = 0;
+ m_unrun = true;
+
+ for (size_t i = 0; i < m_queue.size(); ++i) {
+ m_queue[i]->reset();
+ }
+
+ m_plugin->reset();
+}
+
+PluginBufferingAdapter::FeatureSet
+PluginBufferingAdapter::Impl::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+ if (m_inputStepSize == 0) {
+ std::cerr << "PluginBufferingAdapter::process: ERROR: Plugin has not been initialised" << std::endl;
+ return FeatureSet();
+ }
+
+ FeatureSet allFeatureSets;
+
+ if (m_unrun) {
+ m_frame = RealTime::realTime2Frame(timestamp,
+ int(m_inputSampleRate + 0.5));
+ m_unrun = false;
+ }
+
+ // queue the new input
+
+ for (size_t i = 0; i < m_channels; ++i) {
+ int written = m_queue[i]->write(inputBuffers[i], m_inputBlockSize);
+ if (written < int(m_inputBlockSize) && i == 0) {
+ std::cerr << "WARNING: PluginBufferingAdapter::Impl::process: "
+ << "Buffer overflow: wrote " << written
+ << " of " << m_inputBlockSize
+ << " input samples (for plugin step size "
+ << m_stepSize << ", block size " << m_blockSize << ")"
+ << std::endl;
+ }
+ }
+
+ // process as much as we can
+
+ while (m_queue[0]->getReadSpace() >= int(m_blockSize)) {
+ processBlock(allFeatureSets);
+ }
+
+ return allFeatureSets;
+}
+
+PluginBufferingAdapter::FeatureSet
+PluginBufferingAdapter::Impl::getRemainingFeatures()
+{
+ FeatureSet allFeatureSets;
+
+ // process remaining samples in queue
+ while (m_queue[0]->getReadSpace() >= int(m_blockSize)) {
+ processBlock(allFeatureSets);
+ }
+
+ // pad any last samples remaining and process
+ if (m_queue[0]->getReadSpace() > 0) {
+ for (size_t i = 0; i < m_channels; ++i) {
+ m_queue[i]->zero(m_blockSize - m_queue[i]->getReadSpace());
+ }
+ processBlock(allFeatureSets);
+ }
+
+ // get remaining features
+
+ FeatureSet featureSet = m_plugin->getRemainingFeatures();
+
+ for (map<int, FeatureList>::iterator iter = featureSet.begin();
+ iter != featureSet.end(); ++iter) {
+ FeatureList featureList = iter->second;
+ for (size_t i = 0; i < featureList.size(); ++i) {
+ allFeatureSets[iter->first].push_back(featureList[i]);
+ }
+ }
+
+ return allFeatureSets;
+}
+
+void
+PluginBufferingAdapter::Impl::processBlock(FeatureSet& allFeatureSets)
+{
+ for (size_t i = 0; i < m_channels; ++i) {
+ m_queue[i]->peek(m_buffers[i], m_blockSize);
+ }
+
+ long frame = m_frame;
+ RealTime timestamp = RealTime::frame2RealTime
+ (frame, int(m_inputSampleRate + 0.5));
+
+ FeatureSet featureSet = m_plugin->process(m_buffers, timestamp);
+
+ for (FeatureSet::iterator iter = featureSet.begin();
+ iter != featureSet.end(); ++iter) {
+
+ int outputNo = iter->first;
+
+ if (m_rewriteOutputTimes[outputNo]) {
+
+ FeatureList featureList = iter->second;
+
+ for (size_t i = 0; i < featureList.size(); ++i) {
+
+ switch (m_outputs[outputNo].sampleType) {
+
+ case OutputDescriptor::OneSamplePerStep:
+ // use our internal timestamp, always
+ featureList[i].timestamp = timestamp;
+ featureList[i].hasTimestamp = true;
+ break;
+
+ case OutputDescriptor::FixedSampleRate:
+ // use our internal timestamp if feature lacks one
+ if (!featureList[i].hasTimestamp) {
+ featureList[i].timestamp = timestamp;
+ featureList[i].hasTimestamp = true;
+ }
+ break;
+
+ case OutputDescriptor::VariableSampleRate:
+ break; // plugin must set timestamp
+
+ default:
+ break;
+ }
+
+ allFeatureSets[outputNo].push_back(featureList[i]);
+ }
+ } else {
+ for (size_t i = 0; i < iter->second.size(); ++i) {
+ allFeatureSets[outputNo].push_back(iter->second[i]);
+ }
+ }
+ }
+
+ // step forward
+
+ for (size_t i = 0; i < m_channels; ++i) {
+ m_queue[i]->skip(m_stepSize);
+ }
+
+ // increment internal frame counter each time we step forward
+ m_frame += m_stepSize;
+}
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginBufferingAdapter.cpp)
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginChannelAdapter.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginChannelAdapter.cpp
new file mode 100644
index 0000000..92a35bb
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginChannelAdapter.cpp
@@ -0,0 +1,270 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/PluginChannelAdapter.h>
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginChannelAdapter.cpp)
+
+namespace Vamp {
+
+namespace HostExt {
+
+class PluginChannelAdapter::Impl
+{
+public:
+ Impl(Plugin *plugin);
+ ~Impl();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+ FeatureSet processInterleaved(const float *inputBuffers, RealTime timestamp);
+
+protected:
+ Plugin *m_plugin;
+ size_t m_blockSize;
+ size_t m_inputChannels;
+ size_t m_pluginChannels;
+ float **m_buffer;
+ float **m_deinterleave;
+ const float **m_forwardPtrs;
+};
+
+PluginChannelAdapter::PluginChannelAdapter(Plugin *plugin) :
+ PluginWrapper(plugin)
+{
+ m_impl = new Impl(plugin);
+}
+
+PluginChannelAdapter::~PluginChannelAdapter()
+{
+ delete m_impl;
+}
+
+bool
+PluginChannelAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ return m_impl->initialise(channels, stepSize, blockSize);
+}
+
+PluginChannelAdapter::FeatureSet
+PluginChannelAdapter::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+ return m_impl->process(inputBuffers, timestamp);
+}
+
+PluginChannelAdapter::FeatureSet
+PluginChannelAdapter::processInterleaved(const float *inputBuffers,
+ RealTime timestamp)
+{
+ return m_impl->processInterleaved(inputBuffers, timestamp);
+}
+
+PluginChannelAdapter::Impl::Impl(Plugin *plugin) :
+ m_plugin(plugin),
+ m_blockSize(0),
+ m_inputChannels(0),
+ m_pluginChannels(0),
+ m_buffer(0),
+ m_deinterleave(0),
+ m_forwardPtrs(0)
+{
+}
+
+PluginChannelAdapter::Impl::~Impl()
+{
+ // the adapter will delete the plugin
+
+ if (m_buffer) {
+ if (m_inputChannels > m_pluginChannels) {
+ delete[] m_buffer[0];
+ } else {
+ for (size_t i = 0; i < m_pluginChannels - m_inputChannels; ++i) {
+ delete[] m_buffer[i];
+ }
+ }
+ delete[] m_buffer;
+ m_buffer = 0;
+ }
+
+ if (m_deinterleave) {
+ for (size_t i = 0; i < m_inputChannels; ++i) {
+ delete[] m_deinterleave[i];
+ }
+ delete[] m_deinterleave;
+ m_deinterleave = 0;
+ }
+
+ if (m_forwardPtrs) {
+ delete[] m_forwardPtrs;
+ m_forwardPtrs = 0;
+ }
+}
+
+bool
+PluginChannelAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ m_blockSize = blockSize;
+
+ size_t minch = m_plugin->getMinChannelCount();
+ size_t maxch = m_plugin->getMaxChannelCount();
+
+ m_inputChannels = channels;
+
+ if (m_inputChannels < minch) {
+
+ m_forwardPtrs = new const float *[minch];
+
+ if (m_inputChannels > 1) {
+ // We need a set of zero-valued buffers to add to the
+ // forwarded pointers
+ m_buffer = new float*[minch - channels];
+ for (size_t i = 0; i < minch; ++i) {
+ m_buffer[i] = new float[blockSize];
+ for (size_t j = 0; j < blockSize; ++j) {
+ m_buffer[i][j] = 0.f;
+ }
+ }
+ }
+
+ m_pluginChannels = minch;
+
+// std::cerr << "PluginChannelAdapter::initialise: expanding " << m_inputChannels << " to " << m_pluginChannels << " for plugin" << std::endl;
+
+ } else if (m_inputChannels > maxch) {
+
+ // We only need m_buffer if we are mixing down to a single
+ // channel -- otherwise we can just forward the same float* as
+ // passed in to process(), expecting the excess to be ignored
+
+ if (maxch == 1) {
+ m_buffer = new float *[1];
+ m_buffer[0] = new float[blockSize];
+
+// std::cerr << "PluginChannelAdapter::initialise: mixing " << m_inputChannels << " to mono for plugin" << std::endl;
+
+ } else {
+
+// std::cerr << "PluginChannelAdapter::initialise: reducing " << m_inputChannels << " to " << m_pluginChannels << " for plugin" << std::endl;
+ }
+
+ m_pluginChannels = maxch;
+
+ } else {
+
+// std::cerr << "PluginChannelAdapter::initialise: accepting given number of channels (" << m_inputChannels << ")" << std::endl;
+ m_pluginChannels = m_inputChannels;
+ }
+
+ return m_plugin->initialise(m_pluginChannels, stepSize, blockSize);
+}
+
+PluginChannelAdapter::FeatureSet
+PluginChannelAdapter::Impl::processInterleaved(const float *inputBuffers,
+ RealTime timestamp)
+{
+ if (!m_deinterleave) {
+ m_deinterleave = new float *[m_inputChannels];
+ for (size_t i = 0; i < m_inputChannels; ++i) {
+ m_deinterleave[i] = new float[m_blockSize];
+ }
+ }
+
+ for (size_t i = 0; i < m_inputChannels; ++i) {
+ for (size_t j = 0; j < m_blockSize; ++j) {
+ m_deinterleave[i][j] = inputBuffers[j * m_inputChannels + i];
+ }
+ }
+
+ return process(m_deinterleave, timestamp);
+}
+
+PluginChannelAdapter::FeatureSet
+PluginChannelAdapter::Impl::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+// std::cerr << "PluginChannelAdapter::process: " << m_inputChannels << " -> " << m_pluginChannels << " channels" << std::endl;
+
+ if (m_inputChannels < m_pluginChannels) {
+
+ if (m_inputChannels == 1) {
+ for (size_t i = 0; i < m_pluginChannels; ++i) {
+ m_forwardPtrs[i] = inputBuffers[0];
+ }
+ } else {
+ for (size_t i = 0; i < m_inputChannels; ++i) {
+ m_forwardPtrs[i] = inputBuffers[i];
+ }
+ for (size_t i = m_inputChannels; i < m_pluginChannels; ++i) {
+ m_forwardPtrs[i] = m_buffer[i - m_inputChannels];
+ }
+ }
+
+ return m_plugin->process(m_forwardPtrs, timestamp);
+
+ } else if (m_inputChannels > m_pluginChannels) {
+
+ if (m_pluginChannels == 1) {
+ for (size_t j = 0; j < m_blockSize; ++j) {
+ m_buffer[0][j] = inputBuffers[0][j];
+ }
+ for (size_t i = 1; i < m_inputChannels; ++i) {
+ for (size_t j = 0; j < m_blockSize; ++j) {
+ m_buffer[0][j] += inputBuffers[i][j];
+ }
+ }
+ for (size_t j = 0; j < m_blockSize; ++j) {
+ m_buffer[0][j] /= m_inputChannels;
+ }
+ return m_plugin->process(m_buffer, timestamp);
+ } else {
+ return m_plugin->process(inputBuffers, timestamp);
+ }
+
+ } else {
+
+ return m_plugin->process(inputBuffers, timestamp);
+ }
+}
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginChannelAdapter.cpp)
+
+
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginHostAdapter.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginHostAdapter.cpp
new file mode 100644
index 0000000..5bf323b
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginHostAdapter.cpp
@@ -0,0 +1,456 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/PluginHostAdapter.h>
+#include <cstdlib>
+
+#if ( VAMP_SDK_MAJOR_VERSION != 2 || VAMP_SDK_MINOR_VERSION != 0 )
+#error Incorrect Vamp SDK header included (not the expected 2.0 SDK)
+#endif
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginHostAdapter.cpp)
+
+namespace Vamp
+{
+
+PluginHostAdapter::PluginHostAdapter(const VampPluginDescriptor *descriptor,
+ float inputSampleRate) :
+ Plugin(inputSampleRate),
+ m_descriptor(descriptor)
+{
+// std::cerr << "PluginHostAdapter::PluginHostAdapter (plugin = " << descriptor->name << ")" << std::endl;
+ m_handle = m_descriptor->instantiate(m_descriptor, inputSampleRate);
+ if (!m_handle) {
+// std::cerr << "WARNING: PluginHostAdapter: Plugin instantiation failed for plugin " << m_descriptor->name << std::endl;
+ }
+}
+
+PluginHostAdapter::~PluginHostAdapter()
+{
+// std::cerr << "PluginHostAdapter::~PluginHostAdapter (plugin = " << m_descriptor->name << ")" << std::endl;
+ if (m_handle) m_descriptor->cleanup(m_handle);
+}
+
+std::vector<std::string>
+PluginHostAdapter::getPluginPath()
+{
+ std::vector<std::string> path;
+ std::string envPath;
+
+ char *cpath = getenv("VAMP_PATH");
+ if (cpath) envPath = cpath;
+
+#ifdef _WIN32
+#define PATH_SEPARATOR ';'
+#define DEFAULT_VAMP_PATH "%ProgramFiles%\\Vamp Plugins"
+#else
+#define PATH_SEPARATOR ':'
+#ifdef __APPLE__
+#define DEFAULT_VAMP_PATH "$HOME/Library/Audio/Plug-Ins/Vamp:/Library/Audio/Plug-Ins/Vamp"
+#else
+#define DEFAULT_VAMP_PATH "$HOME/vamp:$HOME/.vamp:/usr/local/lib/vamp:/usr/lib/vamp"
+#endif
+#endif
+
+ if (envPath == "") {
+ envPath = DEFAULT_VAMP_PATH;
+ char *chome = getenv("HOME");
+ if (chome) {
+ std::string home(chome);
+ std::string::size_type f;
+ while ((f = envPath.find("$HOME")) != std::string::npos &&
+ f < envPath.length()) {
+ envPath.replace(f, 5, home);
+ }
+ }
+#ifdef _WIN32
+ char *cpfiles = getenv("ProgramFiles");
+ if (!cpfiles) cpfiles = (char *)"C:\\Program Files";
+ std::string pfiles(cpfiles);
+ std::string::size_type f;
+ while ((f = envPath.find("%ProgramFiles%")) != std::string::npos &&
+ f < envPath.length()) {
+ envPath.replace(f, 14, pfiles);
+ }
+#endif
+ }
+
+ std::string::size_type index = 0, newindex = 0;
+
+ while ((newindex = envPath.find(PATH_SEPARATOR, index)) < envPath.size()) {
+ path.push_back(envPath.substr(index, newindex - index));
+ index = newindex + 1;
+ }
+
+ path.push_back(envPath.substr(index));
+
+ return path;
+}
+
+bool
+PluginHostAdapter::initialise(size_t channels,
+ size_t stepSize,
+ size_t blockSize)
+{
+ if (!m_handle) return false;
+ return m_descriptor->initialise(m_handle, channels, stepSize, blockSize) ?
+ true : false;
+}
+
+void
+PluginHostAdapter::reset()
+{
+ if (!m_handle) {
+// std::cerr << "PluginHostAdapter::reset: no handle" << std::endl;
+ return;
+ }
+// std::cerr << "PluginHostAdapter::reset(" << m_handle << ")" << std::endl;
+ m_descriptor->reset(m_handle);
+}
+
+PluginHostAdapter::InputDomain
+PluginHostAdapter::getInputDomain() const
+{
+ if (m_descriptor->inputDomain == vampFrequencyDomain) {
+ return FrequencyDomain;
+ } else {
+ return TimeDomain;
+ }
+}
+
+unsigned int
+PluginHostAdapter::getVampApiVersion() const
+{
+ return m_descriptor->vampApiVersion;
+}
+
+std::string
+PluginHostAdapter::getIdentifier() const
+{
+ return m_descriptor->identifier;
+}
+
+std::string
+PluginHostAdapter::getName() const
+{
+ return m_descriptor->name;
+}
+
+std::string
+PluginHostAdapter::getDescription() const
+{
+ return m_descriptor->description;
+}
+
+std::string
+PluginHostAdapter::getMaker() const
+{
+ return m_descriptor->maker;
+}
+
+int
+PluginHostAdapter::getPluginVersion() const
+{
+ return m_descriptor->pluginVersion;
+}
+
+std::string
+PluginHostAdapter::getCopyright() const
+{
+ return m_descriptor->copyright;
+}
+
+PluginHostAdapter::ParameterList
+PluginHostAdapter::getParameterDescriptors() const
+{
+ ParameterList list;
+ for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
+ const VampParameterDescriptor *spd = m_descriptor->parameters[i];
+ ParameterDescriptor pd;
+ pd.identifier = spd->identifier;
+ pd.name = spd->name;
+ pd.description = spd->description;
+ pd.unit = spd->unit;
+ pd.minValue = spd->minValue;
+ pd.maxValue = spd->maxValue;
+ pd.defaultValue = spd->defaultValue;
+ pd.isQuantized = spd->isQuantized;
+ pd.quantizeStep = spd->quantizeStep;
+ if (pd.isQuantized && spd->valueNames) {
+ for (unsigned int j = 0; spd->valueNames[j]; ++j) {
+ pd.valueNames.push_back(spd->valueNames[j]);
+ }
+ }
+ list.push_back(pd);
+ }
+ return list;
+}
+
+float
+PluginHostAdapter::getParameter(std::string param) const
+{
+ if (!m_handle) return 0.0;
+
+ for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
+ if (param == m_descriptor->parameters[i]->identifier) {
+ return m_descriptor->getParameter(m_handle, i);
+ }
+ }
+
+ return 0.0;
+}
+
+void
+PluginHostAdapter::setParameter(std::string param,
+ float value)
+{
+ if (!m_handle) return;
+
+ for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
+ if (param == m_descriptor->parameters[i]->identifier) {
+ m_descriptor->setParameter(m_handle, i, value);
+ return;
+ }
+ }
+}
+
+PluginHostAdapter::ProgramList
+PluginHostAdapter::getPrograms() const
+{
+ ProgramList list;
+
+ for (unsigned int i = 0; i < m_descriptor->programCount; ++i) {
+ list.push_back(m_descriptor->programs[i]);
+ }
+
+ return list;
+}
+
+std::string
+PluginHostAdapter::getCurrentProgram() const
+{
+ if (!m_handle) return "";
+
+ int pn = m_descriptor->getCurrentProgram(m_handle);
+ return m_descriptor->programs[pn];
+}
+
+void
+PluginHostAdapter::selectProgram(std::string program)
+{
+ if (!m_handle) return;
+
+ for (unsigned int i = 0; i < m_descriptor->programCount; ++i) {
+ if (program == m_descriptor->programs[i]) {
+ m_descriptor->selectProgram(m_handle, i);
+ return;
+ }
+ }
+}
+
+size_t
+PluginHostAdapter::getPreferredStepSize() const
+{
+ if (!m_handle) return 0;
+ return m_descriptor->getPreferredStepSize(m_handle);
+}
+
+size_t
+PluginHostAdapter::getPreferredBlockSize() const
+{
+ if (!m_handle) return 0;
+ return m_descriptor->getPreferredBlockSize(m_handle);
+}
+
+size_t
+PluginHostAdapter::getMinChannelCount() const
+{
+ if (!m_handle) return 0;
+ return m_descriptor->getMinChannelCount(m_handle);
+}
+
+size_t
+PluginHostAdapter::getMaxChannelCount() const
+{
+ if (!m_handle) return 0;
+ return m_descriptor->getMaxChannelCount(m_handle);
+}
+
+PluginHostAdapter::OutputList
+PluginHostAdapter::getOutputDescriptors() const
+{
+ OutputList list;
+ if (!m_handle) {
+// std::cerr << "PluginHostAdapter::getOutputDescriptors: no handle " << std::endl;
+ return list;
+ }
+
+ unsigned int count = m_descriptor->getOutputCount(m_handle);
+
+ for (unsigned int i = 0; i < count; ++i) {
+ VampOutputDescriptor *sd = m_descriptor->getOutputDescriptor(m_handle, i);
+ OutputDescriptor d;
+ d.identifier = sd->identifier;
+ d.name = sd->name;
+ d.description = sd->description;
+ d.unit = sd->unit;
+ d.hasFixedBinCount = sd->hasFixedBinCount;
+ d.binCount = sd->binCount;
+ if (d.hasFixedBinCount && sd->binNames) {
+ for (unsigned int j = 0; j < sd->binCount; ++j) {
+ d.binNames.push_back(sd->binNames[j] ? sd->binNames[j] : "");
+ }
+ }
+ d.hasKnownExtents = sd->hasKnownExtents;
+ d.minValue = sd->minValue;
+ d.maxValue = sd->maxValue;
+ d.isQuantized = sd->isQuantized;
+ d.quantizeStep = sd->quantizeStep;
+
+ switch (sd->sampleType) {
+ case vampOneSamplePerStep:
+ d.sampleType = OutputDescriptor::OneSamplePerStep; break;
+ case vampFixedSampleRate:
+ d.sampleType = OutputDescriptor::FixedSampleRate; break;
+ case vampVariableSampleRate:
+ d.sampleType = OutputDescriptor::VariableSampleRate; break;
+ }
+
+ d.sampleRate = sd->sampleRate;
+
+ if (m_descriptor->vampApiVersion >= 2) {
+ d.hasDuration = sd->hasDuration;
+ } else {
+ d.hasDuration = false;
+ }
+
+ list.push_back(d);
+
+ m_descriptor->releaseOutputDescriptor(sd);
+ }
+
+ return list;
+}
+
+PluginHostAdapter::FeatureSet
+PluginHostAdapter::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+ FeatureSet fs;
+ if (!m_handle) return fs;
+
+ int sec = timestamp.sec;
+ int nsec = timestamp.nsec;
+
+ VampFeatureList *features = m_descriptor->process(m_handle,
+ inputBuffers,
+ sec, nsec);
+
+ convertFeatures(features, fs);
+ m_descriptor->releaseFeatureSet(features);
+ return fs;
+}
+
+PluginHostAdapter::FeatureSet
+PluginHostAdapter::getRemainingFeatures()
+{
+ FeatureSet fs;
+ if (!m_handle) return fs;
+
+ VampFeatureList *features = m_descriptor->getRemainingFeatures(m_handle);
+
+ convertFeatures(features, fs);
+ m_descriptor->releaseFeatureSet(features);
+ return fs;
+}
+
+void
+PluginHostAdapter::convertFeatures(VampFeatureList *features,
+ FeatureSet &fs)
+{
+ if (!features) return;
+
+ unsigned int outputs = m_descriptor->getOutputCount(m_handle);
+
+ for (unsigned int i = 0; i < outputs; ++i) {
+
+ VampFeatureList &list = features[i];
+
+ if (list.featureCount > 0) {
+
+ Feature feature;
+ feature.values.reserve(list.features[0].v1.valueCount);
+
+ for (unsigned int j = 0; j < list.featureCount; ++j) {
+
+ feature.hasTimestamp = list.features[j].v1.hasTimestamp;
+ feature.timestamp = RealTime(list.features[j].v1.sec,
+ list.features[j].v1.nsec);
+ feature.hasDuration = false;
+
+ if (m_descriptor->vampApiVersion >= 2) {
+ unsigned int j2 = j + list.featureCount;
+ feature.hasDuration = list.features[j2].v2.hasDuration;
+ feature.duration = RealTime(list.features[j2].v2.durationSec,
+ list.features[j2].v2.durationNsec);
+ }
+
+ for (unsigned int k = 0; k < list.features[j].v1.valueCount; ++k) {
+ feature.values.push_back(list.features[j].v1.values[k]);
+ }
+
+ if (list.features[j].v1.label) {
+ feature.label = list.features[j].v1.label;
+ }
+
+ fs[i].push_back(feature);
+
+ if (list.features[j].v1.valueCount > 0) {
+ feature.values.clear();
+ }
+
+ if (list.features[j].v1.label) {
+ feature.label = "";
+ }
+ }
+ }
+ }
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginHostAdapter.cpp)
+
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginInputDomainAdapter.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginInputDomainAdapter.cpp
new file mode 100644
index 0000000..967d5cf
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginInputDomainAdapter.cpp
@@ -0,0 +1,582 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ This file is based in part on Don Cross's public domain FFT
+ implementation.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/PluginInputDomainAdapter.h>
+
+#include <cmath>
+
+
+/**
+ * If you want to compile using FFTW instead of the built-in FFT
+ * implementation for the PluginInputDomainAdapter, define HAVE_FFTW3
+ * in the Makefile.
+ *
+ * Be aware that FFTW is licensed under the GPL -- unlike this SDK,
+ * which is provided under a more liberal BSD license in order to
+ * permit use in closed source applications. The use of FFTW would
+ * mean that your code would need to be licensed under the GPL as
+ * well. Do not define this symbol unless you understand and accept
+ * the implications of this.
+ *
+ * Parties such as Linux distribution packagers who redistribute this
+ * SDK for use in other programs should _not_ define this symbol, as
+ * it would change the effective licensing terms under which the SDK
+ * was available to third party developers.
+ *
+ * The default is not to use FFTW, and to use the built-in FFT instead.
+ *
+ * Note: The FFTW code uses FFTW_MEASURE, and so will perform badly on
+ * its first invocation unless the host has saved and restored FFTW
+ * wisdom (see the FFTW documentation).
+ */
+#ifdef HAVE_FFTW3
+#include <fftw3.h>
+#endif
+
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginInputDomainAdapter.cpp)
+
+namespace Vamp {
+
+namespace HostExt {
+
+class PluginInputDomainAdapter::Impl
+{
+public:
+ Impl(Plugin *plugin, float inputSampleRate);
+ ~Impl();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ size_t getPreferredStepSize() const;
+ size_t getPreferredBlockSize() const;
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ RealTime getTimestampAdjustment() const;
+
+protected:
+ Plugin *m_plugin;
+ float m_inputSampleRate;
+ int m_channels;
+ int m_blockSize;
+ float **m_freqbuf;
+
+ double *m_ri;
+ double *m_window;
+
+#ifdef HAVE_FFTW3
+ fftw_plan m_plan;
+ fftw_complex *m_cbuf;
+#else
+ double *m_ro;
+ double *m_io;
+ void fft(unsigned int n, bool inverse,
+ double *ri, double *ii, double *ro, double *io);
+#endif
+
+ size_t makeBlockSizeAcceptable(size_t) const;
+};
+
+PluginInputDomainAdapter::PluginInputDomainAdapter(Plugin *plugin) :
+ PluginWrapper(plugin)
+{
+ m_impl = new Impl(plugin, m_inputSampleRate);
+}
+
+PluginInputDomainAdapter::~PluginInputDomainAdapter()
+{
+ delete m_impl;
+}
+
+bool
+PluginInputDomainAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ return m_impl->initialise(channels, stepSize, blockSize);
+}
+
+Plugin::InputDomain
+PluginInputDomainAdapter::getInputDomain() const
+{
+ return TimeDomain;
+}
+
+size_t
+PluginInputDomainAdapter::getPreferredStepSize() const
+{
+ return m_impl->getPreferredStepSize();
+}
+
+size_t
+PluginInputDomainAdapter::getPreferredBlockSize() const
+{
+ return m_impl->getPreferredBlockSize();
+}
+
+Plugin::FeatureSet
+PluginInputDomainAdapter::process(const float *const *inputBuffers, RealTime timestamp)
+{
+ return m_impl->process(inputBuffers, timestamp);
+}
+
+RealTime
+PluginInputDomainAdapter::getTimestampAdjustment() const
+{
+ return m_impl->getTimestampAdjustment();
+}
+
+
+PluginInputDomainAdapter::Impl::Impl(Plugin *plugin, float inputSampleRate) :
+ m_plugin(plugin),
+ m_inputSampleRate(inputSampleRate),
+ m_channels(0),
+ m_blockSize(0),
+ m_freqbuf(0),
+ m_ri(0),
+ m_window(0),
+#ifdef HAVE_FFTW3
+ m_plan(0),
+ m_cbuf(0)
+#else
+ m_ro(0),
+ m_io(0)
+#endif
+{
+}
+
+PluginInputDomainAdapter::Impl::~Impl()
+{
+ // the adapter will delete the plugin
+
+ if (m_channels > 0) {
+ for (int c = 0; c < m_channels; ++c) {
+ delete[] m_freqbuf[c];
+ }
+ delete[] m_freqbuf;
+#ifdef HAVE_FFTW3
+ if (m_plan) {
+ fftw_destroy_plan(m_plan);
+ fftw_free(m_ri);
+ fftw_free(m_cbuf);
+ m_plan = 0;
+ }
+#else
+ delete[] m_ri;
+ delete[] m_ro;
+ delete[] m_io;
+#endif
+ delete[] m_window;
+ }
+}
+
+// for some visual studii apparently
+#ifndef M_PI
+#define M_PI 3.14159265358979232846
+#endif
+
+bool
+PluginInputDomainAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ if (m_plugin->getInputDomain() == TimeDomain) {
+
+ m_blockSize = int(blockSize);
+ m_channels = int(channels);
+
+ return m_plugin->initialise(channels, stepSize, blockSize);
+ }
+
+ if (blockSize < 2) {
+ std::cerr << "ERROR: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: blocksize < 2 not supported" << std::endl;
+ return false;
+ }
+
+ if (blockSize & (blockSize-1)) {
+ std::cerr << "ERROR: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: non-power-of-two\nblocksize " << blockSize << " not supported" << std::endl;
+ return false;
+ }
+
+ if (m_channels > 0) {
+ for (int c = 0; c < m_channels; ++c) {
+ delete[] m_freqbuf[c];
+ }
+ delete[] m_freqbuf;
+#ifdef HAVE_FFTW3
+ if (m_plan) {
+ fftw_destroy_plan(m_plan);
+ fftw_free(m_ri);
+ fftw_free(m_cbuf);
+ m_plan = 0;
+ }
+#else
+ delete[] m_ri;
+ delete[] m_ro;
+ delete[] m_io;
+#endif
+ delete[] m_window;
+ }
+
+ m_blockSize = int(blockSize);
+ m_channels = int(channels);
+
+ m_freqbuf = new float *[m_channels];
+ for (int c = 0; c < m_channels; ++c) {
+ m_freqbuf[c] = new float[m_blockSize + 2];
+ }
+ m_window = new double[m_blockSize];
+
+ for (int i = 0; i < m_blockSize; ++i) {
+ // Hanning window
+ m_window[i] = (0.50 - 0.50 * cos((2.0 * M_PI * i) / m_blockSize));
+ }
+
+#ifdef HAVE_FFTW3
+ m_ri = (double *)fftw_malloc(blockSize * sizeof(double));
+ m_cbuf = (fftw_complex *)fftw_malloc((blockSize/2 + 1) * sizeof(fftw_complex));
+ m_plan = fftw_plan_dft_r2c_1d(blockSize, m_ri, m_cbuf, FFTW_MEASURE);
+#else
+ m_ri = new double[m_blockSize];
+ m_ro = new double[m_blockSize];
+ m_io = new double[m_blockSize];
+#endif
+
+ return m_plugin->initialise(channels, stepSize, blockSize);
+}
+
+size_t
+PluginInputDomainAdapter::Impl::getPreferredStepSize() const
+{
+ size_t step = m_plugin->getPreferredStepSize();
+
+ if (step == 0 && (m_plugin->getInputDomain() == FrequencyDomain)) {
+ step = getPreferredBlockSize() / 2;
+ }
+
+ return step;
+}
+
+size_t
+PluginInputDomainAdapter::Impl::getPreferredBlockSize() const
+{
+ size_t block = m_plugin->getPreferredBlockSize();
+
+ if (m_plugin->getInputDomain() == FrequencyDomain) {
+ if (block == 0) {
+ block = 1024;
+ } else {
+ block = makeBlockSizeAcceptable(block);
+ }
+ }
+
+ return block;
+}
+
+size_t
+PluginInputDomainAdapter::Impl::makeBlockSizeAcceptable(size_t blockSize) const
+{
+ if (blockSize < 2) {
+
+ std::cerr << "WARNING: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: blocksize < 2 not" << std::endl
+ << "supported, increasing from " << blockSize << " to 2" << std::endl;
+ blockSize = 2;
+
+ } else if (blockSize & (blockSize-1)) {
+
+#ifdef HAVE_FFTW3
+ // not an issue with FFTW
+#else
+
+ // not a power of two, can't handle that with our built-in FFT
+ // implementation
+
+ size_t nearest = blockSize;
+ size_t power = 0;
+ while (nearest > 1) {
+ nearest >>= 1;
+ ++power;
+ }
+ nearest = 1;
+ while (power) {
+ nearest <<= 1;
+ --power;
+ }
+
+ if (blockSize - nearest > (nearest*2) - blockSize) {
+ nearest = nearest*2;
+ }
+
+ std::cerr << "WARNING: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: non-power-of-two\nblocksize " << blockSize << " not supported, using blocksize " << nearest << " instead" << std::endl;
+ blockSize = nearest;
+
+#endif
+ }
+
+ return blockSize;
+}
+
+RealTime
+PluginInputDomainAdapter::Impl::getTimestampAdjustment() const
+{
+ if (m_plugin->getInputDomain() == TimeDomain) {
+ return RealTime::zeroTime;
+ } else {
+ return RealTime::frame2RealTime
+ (m_blockSize/2, int(m_inputSampleRate + 0.5));
+ }
+}
+
+Plugin::FeatureSet
+PluginInputDomainAdapter::Impl::process(const float *const *inputBuffers,
+ RealTime timestamp)
+{
+ if (m_plugin->getInputDomain() == TimeDomain) {
+ return m_plugin->process(inputBuffers, timestamp);
+ }
+
+ // The timestamp supplied should be (according to the Vamp::Plugin
+ // spec) the time of the start of the time-domain input block.
+ // However, we want to pass to the plugin an FFT output calculated
+ // from the block of samples _centred_ on that timestamp.
+ //
+ // We have two options:
+ //
+ // 1. Buffer the input, calculating the fft of the values at the
+ // passed-in block minus blockSize/2 rather than starting at the
+ // passed-in block. So each time we call process on the plugin,
+ // we are passing in the same timestamp as was passed to our own
+ // process plugin, but not (the frequency domain representation
+ // of) the same set of samples. Advantages: avoids confusion in
+ // the host by ensuring the returned values have timestamps
+ // comparable with that passed in to this function (in fact this
+ // is pretty much essential for one-value-per-block outputs);
+ // consistent with hosts such as SV that deal with the
+ // frequency-domain transform themselves. Disadvantages: means
+ // making the not necessarily correct assumption that the samples
+ // preceding the first official block are all zero (or some other
+ // known value).
+ //
+ // 2. Increase the passed-in timestamps by half the blocksize. So
+ // when we call process, we are passing in the frequency domain
+ // representation of the same set of samples as passed to us, but
+ // with a different timestamp. Advantages: simplicity; avoids
+ // iffy assumption mentioned above. Disadvantages: inconsistency
+ // with SV in cases where stepSize != blockSize/2; potential
+ // confusion arising from returned timestamps being calculated
+ // from the adjusted input timestamps rather than the original
+ // ones (and inaccuracy where the returned timestamp is implied,
+ // as in one-value-per-block).
+ //
+ // Neither way is ideal, but I don't think either is strictly
+ // incorrect either. I think this is just a case where the same
+ // plugin can legitimately produce differing results from the same
+ // input data, depending on how that data is packaged.
+ //
+ // We'll go for option 2, adjusting the timestamps. Note in
+ // particular that this means some results can differ from those
+ // produced by SV.
+
+// std::cerr << "PluginInputDomainAdapter: sampleRate " << m_inputSampleRate << ", blocksize " << m_blockSize << ", adjusting time from " << timestamp;
+
+ timestamp = timestamp + getTimestampAdjustment();
+
+// std::cerr << " to " << timestamp << std::endl;
+
+ for (int c = 0; c < m_channels; ++c) {
+
+ for (int i = 0; i < m_blockSize; ++i) {
+ m_ri[i] = double(inputBuffers[c][i]) * m_window[i];
+ }
+
+ for (int i = 0; i < m_blockSize/2; ++i) {
+ // FFT shift
+ double value = m_ri[i];
+ m_ri[i] = m_ri[i + m_blockSize/2];
+ m_ri[i + m_blockSize/2] = value;
+ }
+
+#ifdef HAVE_FFTW3
+
+ fftw_execute(m_plan);
+
+ for (int i = 0; i <= m_blockSize/2; ++i) {
+ m_freqbuf[c][i * 2] = float(m_cbuf[i][0]);
+ m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i][1]);
+ }
+
+#else
+
+ fft(m_blockSize, false, m_ri, 0, m_ro, m_io);
+
+ for (int i = 0; i <= m_blockSize/2; ++i) {
+ m_freqbuf[c][i * 2] = float(m_ro[i]);
+ m_freqbuf[c][i * 2 + 1] = float(m_io[i]);
+ }
+
+#endif
+ }
+
+ return m_plugin->process(m_freqbuf, timestamp);
+}
+
+#ifndef HAVE_FFTW3
+
+void
+PluginInputDomainAdapter::Impl::fft(unsigned int n, bool inverse,
+ double *ri, double *ii, double *ro, double *io)
+{
+ if (!ri || !ro || !io) return;
+
+ unsigned int bits;
+ unsigned int i, j, k, m;
+ unsigned int blockSize, blockEnd;
+
+ double tr, ti;
+
+ if (n < 2) return;
+ if (n & (n-1)) return;
+
+ double angle = 2.0 * M_PI;
+ if (inverse) angle = -angle;
+
+ for (i = 0; ; ++i) {
+ if (n & (1 << i)) {
+ bits = i;
+ break;
+ }
+ }
+
+ static unsigned int tableSize = 0;
+ static int *table = 0;
+
+ if (tableSize != n) {
+
+ delete[] table;
+
+ table = new int[n];
+
+ for (i = 0; i < n; ++i) {
+
+ m = i;
+
+ for (j = k = 0; j < bits; ++j) {
+ k = (k << 1) | (m & 1);
+ m >>= 1;
+ }
+
+ table[i] = k;
+ }
+
+ tableSize = n;
+ }
+
+ if (ii) {
+ for (i = 0; i < n; ++i) {
+ ro[table[i]] = ri[i];
+ io[table[i]] = ii[i];
+ }
+ } else {
+ for (i = 0; i < n; ++i) {
+ ro[table[i]] = ri[i];
+ io[table[i]] = 0.0;
+ }
+ }
+
+ blockEnd = 1;
+
+ for (blockSize = 2; blockSize <= n; blockSize <<= 1) {
+
+ double delta = angle / (double)blockSize;
+ double sm2 = -sin(-2 * delta);
+ double sm1 = -sin(-delta);
+ double cm2 = cos(-2 * delta);
+ double cm1 = cos(-delta);
+ double w = 2 * cm1;
+ double ar[3], ai[3];
+
+ for (i = 0; i < n; i += blockSize) {
+
+ ar[2] = cm2;
+ ar[1] = cm1;
+
+ ai[2] = sm2;
+ ai[1] = sm1;
+
+ for (j = i, m = 0; m < blockEnd; j++, m++) {
+
+ ar[0] = w * ar[1] - ar[2];
+ ar[2] = ar[1];
+ ar[1] = ar[0];
+
+ ai[0] = w * ai[1] - ai[2];
+ ai[2] = ai[1];
+ ai[1] = ai[0];
+
+ k = j + blockEnd;
+ tr = ar[0] * ro[k] - ai[0] * io[k];
+ ti = ar[0] * io[k] + ai[0] * ro[k];
+
+ ro[k] = ro[j] - tr;
+ io[k] = io[j] - ti;
+
+ ro[j] += tr;
+ io[j] += ti;
+ }
+ }
+
+ blockEnd = blockSize;
+ }
+
+ if (inverse) {
+
+ double denom = (double)n;
+
+ for (i = 0; i < n; i++) {
+ ro[i] /= denom;
+ io[i] /= denom;
+ }
+ }
+}
+
+#endif
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginInputDomainAdapter.cpp)
+
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginLoader.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginLoader.cpp
new file mode 100644
index 0000000..3bf23bb
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginLoader.cpp
@@ -0,0 +1,641 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/PluginHostAdapter.h>
+#include <vamp-hostsdk/PluginLoader.h>
+#include <vamp-hostsdk/PluginInputDomainAdapter.h>
+#include <vamp-hostsdk/PluginChannelAdapter.h>
+#include <vamp-hostsdk/PluginBufferingAdapter.h>
+
+#include <fstream>
+#include <cctype> // tolower
+
+#include <cstring>
+
+#ifdef _WIN32
+
+#include <windows.h>
+#include <tchar.h>
+#define PLUGIN_SUFFIX "dll"
+
+#else /* ! _WIN32 */
+
+#include <dirent.h>
+#include <dlfcn.h>
+
+#ifdef __APPLE__
+#define PLUGIN_SUFFIX "dylib"
+#else /* ! __APPLE__ */
+#define PLUGIN_SUFFIX "so"
+#endif /* ! __APPLE__ */
+
+#endif /* ! _WIN32 */
+
+using namespace std;
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.cpp)
+
+namespace Vamp {
+
+namespace HostExt {
+
+class PluginLoader::Impl
+{
+public:
+ Impl();
+ virtual ~Impl();
+
+ PluginKeyList listPlugins();
+
+ Plugin *loadPlugin(PluginKey key,
+ float inputSampleRate,
+ int adapterFlags);
+
+ PluginKey composePluginKey(string libraryName, string identifier);
+
+ PluginCategoryHierarchy getPluginCategory(PluginKey key);
+
+ string getLibraryPathForPlugin(PluginKey key);
+
+ static void setInstanceToClean(PluginLoader *instance);
+
+protected:
+ class PluginDeletionNotifyAdapter : public PluginWrapper {
+ public:
+ PluginDeletionNotifyAdapter(Plugin *plugin, Impl *loader);
+ virtual ~PluginDeletionNotifyAdapter();
+ protected:
+ Impl *m_loader;
+ };
+
+ class InstanceCleaner {
+ public:
+ InstanceCleaner() : m_instance(0) { }
+ ~InstanceCleaner() { delete m_instance; }
+ void setInstance(PluginLoader *instance) { m_instance = instance; }
+ protected:
+ PluginLoader *m_instance;
+ };
+
+ virtual void pluginDeleted(PluginDeletionNotifyAdapter *adapter);
+
+ map<PluginKey, string> m_pluginLibraryNameMap;
+ bool m_allPluginsEnumerated;
+ void enumeratePlugins(PluginKey forPlugin = "");
+
+ map<PluginKey, PluginCategoryHierarchy> m_taxonomy;
+ void generateTaxonomy();
+
+ map<Plugin *, void *> m_pluginLibraryHandleMap;
+
+ bool decomposePluginKey(PluginKey key,
+ string &libraryName, string &identifier);
+
+ void *loadLibrary(string path);
+ void unloadLibrary(void *handle);
+ void *lookupInLibrary(void *handle, const char *symbol);
+
+ string splicePath(string a, string b);
+ vector<string> listFiles(string dir, string ext);
+
+ static InstanceCleaner m_cleaner;
+};
+
+PluginLoader *
+PluginLoader::m_instance = 0;
+
+PluginLoader::Impl::InstanceCleaner
+PluginLoader::Impl::m_cleaner;
+
+PluginLoader::PluginLoader()
+{
+ m_impl = new Impl();
+}
+
+PluginLoader::~PluginLoader()
+{
+ delete m_impl;
+}
+
+PluginLoader *
+PluginLoader::getInstance()
+{
+ if (!m_instance) {
+ // The cleaner doesn't own the instance, because we leave the
+ // instance pointer in the base class for binary backwards
+ // compatibility reasons and to avoid waste
+ m_instance = new PluginLoader();
+ Impl::setInstanceToClean(m_instance);
+ }
+ return m_instance;
+}
+
+vector<PluginLoader::PluginKey>
+PluginLoader::listPlugins()
+{
+ return m_impl->listPlugins();
+}
+
+Plugin *
+PluginLoader::loadPlugin(PluginKey key,
+ float inputSampleRate,
+ int adapterFlags)
+{
+ return m_impl->loadPlugin(key, inputSampleRate, adapterFlags);
+}
+
+PluginLoader::PluginKey
+PluginLoader::composePluginKey(string libraryName, string identifier)
+{
+ return m_impl->composePluginKey(libraryName, identifier);
+}
+
+PluginLoader::PluginCategoryHierarchy
+PluginLoader::getPluginCategory(PluginKey key)
+{
+ return m_impl->getPluginCategory(key);
+}
+
+string
+PluginLoader::getLibraryPathForPlugin(PluginKey key)
+{
+ return m_impl->getLibraryPathForPlugin(key);
+}
+
+PluginLoader::Impl::Impl() :
+ m_allPluginsEnumerated(false)
+{
+}
+
+PluginLoader::Impl::~Impl()
+{
+}
+
+void
+PluginLoader::Impl::setInstanceToClean(PluginLoader *instance)
+{
+ m_cleaner.setInstance(instance);
+}
+
+vector<PluginLoader::PluginKey>
+PluginLoader::Impl::listPlugins()
+{
+ if (!m_allPluginsEnumerated) enumeratePlugins();
+
+ vector<PluginKey> plugins;
+ for (map<PluginKey, string>::iterator mi = m_pluginLibraryNameMap.begin();
+ mi != m_pluginLibraryNameMap.end(); ++mi) {
+ plugins.push_back(mi->first);
+ }
+
+ return plugins;
+}
+
+void
+PluginLoader::Impl::enumeratePlugins(PluginKey forPlugin)
+{
+ vector<string> path = PluginHostAdapter::getPluginPath();
+
+ string libraryName, identifier;
+ if (forPlugin != "") {
+ if (!decomposePluginKey(forPlugin, libraryName, identifier)) {
+ std::cerr << "WARNING: Vamp::HostExt::PluginLoader: Invalid plugin key \""
+ << forPlugin << "\" in enumerate" << std::endl;
+ return;
+ }
+ }
+
+ for (size_t i = 0; i < path.size(); ++i) {
+
+ vector<string> files = listFiles(path[i], PLUGIN_SUFFIX);
+
+ for (vector<string>::iterator fi = files.begin();
+ fi != files.end(); ++fi) {
+
+ if (libraryName != "") {
+ // libraryName is lowercased and lacking an extension,
+ // as it came from the plugin key
+ string temp = *fi;
+ for (size_t i = 0; i < temp.length(); ++i) {
+ temp[i] = tolower(temp[i]);
+ }
+ string::size_type pi = temp.find('.');
+ if (pi == string::npos) {
+ if (libraryName != temp) continue;
+ } else {
+ if (libraryName != temp.substr(0, pi)) continue;
+ }
+ }
+
+ string fullPath = path[i];
+ fullPath = splicePath(fullPath, *fi);
+ void *handle = loadLibrary(fullPath);
+ if (!handle) continue;
+
+ VampGetPluginDescriptorFunction fn =
+ (VampGetPluginDescriptorFunction)lookupInLibrary
+ (handle, "vampGetPluginDescriptor");
+
+ if (!fn) {
+ unloadLibrary(handle);
+ continue;
+ }
+
+ int index = 0;
+ const VampPluginDescriptor *descriptor = 0;
+
+ while ((descriptor = fn(VAMP_API_VERSION, index))) {
+ ++index;
+ if (identifier != "") {
+ if (descriptor->identifier != identifier) continue;
+ }
+ PluginKey key = composePluginKey(*fi, descriptor->identifier);
+// std::cerr << "enumerate: " << key << " (path: " << fullPath << ")" << std::endl;
+ if (m_pluginLibraryNameMap.find(key) ==
+ m_pluginLibraryNameMap.end()) {
+ m_pluginLibraryNameMap[key] = fullPath;
+ }
+ }
+
+ unloadLibrary(handle);
+ }
+ }
+
+ if (forPlugin == "") m_allPluginsEnumerated = true;
+}
+
+PluginLoader::PluginKey
+PluginLoader::Impl::composePluginKey(string libraryName, string identifier)
+{
+ string basename = libraryName;
+
+ string::size_type li = basename.rfind('/');
+ if (li != string::npos) basename = basename.substr(li + 1);
+
+ li = basename.find('.');
+ if (li != string::npos) basename = basename.substr(0, li);
+
+ for (size_t i = 0; i < basename.length(); ++i) {
+ basename[i] = tolower(basename[i]);
+ }
+
+ return basename + ":" + identifier;
+}
+
+bool
+PluginLoader::Impl::decomposePluginKey(PluginKey key,
+ string &libraryName,
+ string &identifier)
+{
+ string::size_type ki = key.find(':');
+ if (ki == string::npos) {
+ return false;
+ }
+
+ libraryName = key.substr(0, ki);
+ identifier = key.substr(ki + 1);
+ return true;
+}
+
+PluginLoader::PluginCategoryHierarchy
+PluginLoader::Impl::getPluginCategory(PluginKey plugin)
+{
+ if (m_taxonomy.empty()) generateTaxonomy();
+ if (m_taxonomy.find(plugin) == m_taxonomy.end()) {
+ return PluginCategoryHierarchy();
+ }
+ return m_taxonomy[plugin];
+}
+
+string
+PluginLoader::Impl::getLibraryPathForPlugin(PluginKey plugin)
+{
+ if (m_pluginLibraryNameMap.find(plugin) == m_pluginLibraryNameMap.end()) {
+ if (m_allPluginsEnumerated) return "";
+ enumeratePlugins(plugin);
+ }
+ if (m_pluginLibraryNameMap.find(plugin) == m_pluginLibraryNameMap.end()) {
+ return "";
+ }
+ return m_pluginLibraryNameMap[plugin];
+}
+
+Plugin *
+PluginLoader::Impl::loadPlugin(PluginKey key,
+ float inputSampleRate, int adapterFlags)
+{
+ string libname, identifier;
+ if (!decomposePluginKey(key, libname, identifier)) {
+ std::cerr << "Vamp::HostExt::PluginLoader: Invalid plugin key \""
+ << key << "\" in loadPlugin" << std::endl;
+ return 0;
+ }
+
+ string fullPath = getLibraryPathForPlugin(key);
+ if (fullPath == "") return 0;
+
+ void *handle = loadLibrary(fullPath);
+ if (!handle) return 0;
+
+ VampGetPluginDescriptorFunction fn =
+ (VampGetPluginDescriptorFunction)lookupInLibrary
+ (handle, "vampGetPluginDescriptor");
+
+ if (!fn) {
+ unloadLibrary(handle);
+ return 0;
+ }
+
+ int index = 0;
+ const VampPluginDescriptor *descriptor = 0;
+
+ while ((descriptor = fn(VAMP_API_VERSION, index))) {
+
+ if (string(descriptor->identifier) == identifier) {
+
+ Vamp::PluginHostAdapter *plugin =
+ new Vamp::PluginHostAdapter(descriptor, inputSampleRate);
+
+ Plugin *adapter = new PluginDeletionNotifyAdapter(plugin, this);
+
+ m_pluginLibraryHandleMap[adapter] = handle;
+
+ if (adapterFlags & ADAPT_INPUT_DOMAIN) {
+ if (adapter->getInputDomain() == Plugin::FrequencyDomain) {
+ adapter = new PluginInputDomainAdapter(adapter);
+ }
+ }
+
+ if (adapterFlags & ADAPT_BUFFER_SIZE) {
+ adapter = new PluginBufferingAdapter(adapter);
+ }
+
+ if (adapterFlags & ADAPT_CHANNEL_COUNT) {
+ adapter = new PluginChannelAdapter(adapter);
+ }
+
+ return adapter;
+ }
+
+ ++index;
+ }
+
+ cerr << "Vamp::HostExt::PluginLoader: Plugin \""
+ << identifier << "\" not found in library \""
+ << fullPath << "\"" << endl;
+
+ return 0;
+}
+
+void
+PluginLoader::Impl::generateTaxonomy()
+{
+// cerr << "PluginLoader::Impl::generateTaxonomy" << endl;
+
+ vector<string> path = PluginHostAdapter::getPluginPath();
+ string libfragment = "/lib/";
+ vector<string> catpath;
+
+ string suffix = "cat";
+
+ for (vector<string>::iterator i = path.begin();
+ i != path.end(); ++i) {
+
+ // It doesn't matter that we're using literal forward-slash in
+ // this bit, as it's only relevant if the path contains
+ // "/lib/", which is only meaningful and only plausible on
+ // systems with forward-slash delimiters
+
+ string dir = *i;
+ string::size_type li = dir.find(libfragment);
+
+ if (li != string::npos) {
+ catpath.push_back
+ (dir.substr(0, li)
+ + "/share/"
+ + dir.substr(li + libfragment.length()));
+ }
+
+ catpath.push_back(dir);
+ }
+
+ char buffer[1024];
+
+ for (vector<string>::iterator i = catpath.begin();
+ i != catpath.end(); ++i) {
+
+ vector<string> files = listFiles(*i, suffix);
+
+ for (vector<string>::iterator fi = files.begin();
+ fi != files.end(); ++fi) {
+
+ string filepath = splicePath(*i, *fi);
+ ifstream is(filepath.c_str(), ifstream::in | ifstream::binary);
+
+ if (is.fail()) {
+// cerr << "failed to open: " << filepath << endl;
+ continue;
+ }
+
+// cerr << "opened: " << filepath << endl;
+
+ while (!!is.getline(buffer, 1024)) {
+
+ string line(buffer);
+
+// cerr << "line = " << line << endl;
+
+ string::size_type di = line.find("::");
+ if (di == string::npos) continue;
+
+ string id = line.substr(0, di);
+ string encodedCat = line.substr(di + 2);
+
+ if (id.substr(0, 5) != "vamp:") continue;
+ id = id.substr(5);
+
+ while (encodedCat.length() >= 1 &&
+ encodedCat[encodedCat.length()-1] == '\r') {
+ encodedCat = encodedCat.substr(0, encodedCat.length()-1);
+ }
+
+// cerr << "id = " << id << ", cat = " << encodedCat << endl;
+
+ PluginCategoryHierarchy category;
+ string::size_type ai;
+ while ((ai = encodedCat.find(" > ")) != string::npos) {
+ category.push_back(encodedCat.substr(0, ai));
+ encodedCat = encodedCat.substr(ai + 3);
+ }
+ if (encodedCat != "") category.push_back(encodedCat);
+
+ m_taxonomy[id] = category;
+ }
+ }
+ }
+}
+
+void *
+PluginLoader::Impl::loadLibrary(string path)
+{
+ void *handle = 0;
+#ifdef _WIN32
+ handle = LoadLibrary(path.c_str());
+ if (!handle) {
+ cerr << "Vamp::HostExt::PluginLoader: Unable to load library \""
+ << path << "\"" << endl;
+ }
+#else
+ handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_LOCAL);
+ if (!handle) {
+ cerr << "Vamp::HostExt::PluginLoader: Unable to load library \""
+ << path << "\": " << dlerror() << endl;
+ }
+#endif
+ return handle;
+}
+
+void
+PluginLoader::Impl::unloadLibrary(void *handle)
+{
+#ifdef _WIN32
+ FreeLibrary((HINSTANCE)handle);
+#else
+ dlclose(handle);
+#endif
+}
+
+void *
+PluginLoader::Impl::lookupInLibrary(void *handle, const char *symbol)
+{
+#ifdef _WIN32
+ return (void *)GetProcAddress((HINSTANCE)handle, symbol);
+#else
+ return (void *)dlsym(handle, symbol);
+#endif
+}
+
+string
+PluginLoader::Impl::splicePath(string a, string b)
+{
+#ifdef _WIN32
+ return a + "\\" + b;
+#else
+ return a + "/" + b;
+#endif
+}
+
+vector<string>
+PluginLoader::Impl::listFiles(string dir, string extension)
+{
+ vector<string> files;
+
+#ifdef _WIN32
+
+ string expression = dir + "\\*." + extension;
+ WIN32_FIND_DATA data;
+ HANDLE fh = FindFirstFile(expression.c_str(), &data);
+ if (fh == INVALID_HANDLE_VALUE) return files;
+
+ bool ok = true;
+ while (ok) {
+ files.push_back(data.cFileName);
+ ok = FindNextFile(fh, &data);
+ }
+
+ FindClose(fh);
+
+#else
+
+ size_t extlen = extension.length();
+ DIR *d = opendir(dir.c_str());
+ if (!d) return files;
+
+ struct dirent *e = 0;
+ while ((e = readdir(d))) {
+
+ if (!e->d_name) continue;
+
+ size_t len = strlen(e->d_name);
+ if (len < extlen + 2 ||
+ e->d_name + len - extlen - 1 != "." + extension) {
+ continue;
+ }
+
+ files.push_back(e->d_name);
+ }
+
+ closedir(d);
+#endif
+
+ return files;
+}
+
+void
+PluginLoader::Impl::pluginDeleted(PluginDeletionNotifyAdapter *adapter)
+{
+ void *handle = m_pluginLibraryHandleMap[adapter];
+ if (handle) unloadLibrary(handle);
+ m_pluginLibraryHandleMap.erase(adapter);
+}
+
+PluginLoader::Impl::PluginDeletionNotifyAdapter::PluginDeletionNotifyAdapter(Plugin *plugin,
+ Impl *loader) :
+ PluginWrapper(plugin),
+ m_loader(loader)
+{
+}
+
+PluginLoader::Impl::PluginDeletionNotifyAdapter::~PluginDeletionNotifyAdapter()
+{
+ // We need to delete the plugin before calling pluginDeleted, as
+ // the delete call may require calling through to the descriptor
+ // (for e.g. cleanup) but pluginDeleted may unload the required
+ // library for the call. To prevent a double deletion when our
+ // parent's destructor runs (after this one), be sure to set
+ // m_plugin to 0 after deletion.
+ delete m_plugin;
+ m_plugin = 0;
+
+ if (m_loader) m_loader->pluginDeleted(this);
+}
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginLoader.cpp)
+
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/PluginWrapper.cpp b/libs/vamp-sdk/src/vamp-hostsdk/PluginWrapper.cpp
new file mode 100644
index 0000000..02bdc28
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/PluginWrapper.cpp
@@ -0,0 +1,204 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/PluginWrapper.h>
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginWrapper.cpp)
+
+namespace Vamp {
+
+namespace HostExt {
+
+class PluginRateExtractor : public Plugin
+{
+public:
+ PluginRateExtractor() : Plugin(0) { }
+ float getRate() const { return m_inputSampleRate; }
+};
+
+PluginWrapper::PluginWrapper(Plugin *plugin) :
+ Plugin(((PluginRateExtractor *)plugin)->getRate()),
+ m_plugin(plugin)
+{
+}
+
+PluginWrapper::~PluginWrapper()
+{
+ delete m_plugin;
+}
+
+bool
+PluginWrapper::initialise(size_t channels, size_t stepSize, size_t blockSize)
+{
+ return m_plugin->initialise(channels, stepSize, blockSize);
+}
+
+void
+PluginWrapper::reset()
+{
+ m_plugin->reset();
+}
+
+Plugin::InputDomain
+PluginWrapper::getInputDomain() const
+{
+ return m_plugin->getInputDomain();
+}
+
+unsigned int
+PluginWrapper::getVampApiVersion() const
+{
+ return m_plugin->getVampApiVersion();
+}
+
+std::string
+PluginWrapper::getIdentifier() const
+{
+ return m_plugin->getIdentifier();
+}
+
+std::string
+PluginWrapper::getName() const
+{
+ return m_plugin->getName();
+}
+
+std::string
+PluginWrapper::getDescription() const
+{
+ return m_plugin->getDescription();
+}
+
+std::string
+PluginWrapper::getMaker() const
+{
+ return m_plugin->getMaker();
+}
+
+int
+PluginWrapper::getPluginVersion() const
+{
+ return m_plugin->getPluginVersion();
+}
+
+std::string
+PluginWrapper::getCopyright() const
+{
+ return m_plugin->getCopyright();
+}
+
+PluginBase::ParameterList
+PluginWrapper::getParameterDescriptors() const
+{
+ return m_plugin->getParameterDescriptors();
+}
+
+float
+PluginWrapper::getParameter(std::string parameter) const
+{
+ return m_plugin->getParameter(parameter);
+}
+
+void
+PluginWrapper::setParameter(std::string parameter, float value)
+{
+ m_plugin->setParameter(parameter, value);
+}
+
+PluginBase::ProgramList
+PluginWrapper::getPrograms() const
+{
+ return m_plugin->getPrograms();
+}
+
+std::string
+PluginWrapper::getCurrentProgram() const
+{
+ return m_plugin->getCurrentProgram();
+}
+
+void
+PluginWrapper::selectProgram(std::string program)
+{
+ m_plugin->selectProgram(program);
+}
+
+size_t
+PluginWrapper::getPreferredStepSize() const
+{
+ return m_plugin->getPreferredStepSize();
+}
+
+size_t
+PluginWrapper::getPreferredBlockSize() const
+{
+ return m_plugin->getPreferredBlockSize();
+}
+
+size_t
+PluginWrapper::getMinChannelCount() const
+{
+ return m_plugin->getMinChannelCount();
+}
+
+size_t PluginWrapper::getMaxChannelCount() const
+{
+ return m_plugin->getMaxChannelCount();
+}
+
+Plugin::OutputList
+PluginWrapper::getOutputDescriptors() const
+{
+ return m_plugin->getOutputDescriptors();
+}
+
+Plugin::FeatureSet
+PluginWrapper::process(const float *const *inputBuffers, RealTime timestamp)
+{
+ return m_plugin->process(inputBuffers, timestamp);
+}
+
+Plugin::FeatureSet
+PluginWrapper::getRemainingFeatures()
+{
+ return m_plugin->getRemainingFeatures();
+}
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginWrapper.cpp)
diff --git a/libs/vamp-sdk/src/vamp-hostsdk/RealTime.cpp b/libs/vamp-sdk/src/vamp-hostsdk/RealTime.cpp
new file mode 100644
index 0000000..537ccbd
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-hostsdk/RealTime.cpp
@@ -0,0 +1,39 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-hostsdk/RealTime.h>
+#include "../vamp-sdk/RealTime.cpp"
+
diff --git a/libs/vamp-sdk/src/vamp-sdk/PluginAdapter.cpp b/libs/vamp-sdk/src/vamp-sdk/PluginAdapter.cpp
new file mode 100644
index 0000000..fc195d7
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-sdk/PluginAdapter.cpp
@@ -0,0 +1,914 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#include <vamp-sdk/PluginAdapter.h>
+
+#include <cstring>
+#include <cstdlib>
+
+#if ( VAMP_SDK_MAJOR_VERSION != 2 || VAMP_SDK_MINOR_VERSION != 0 )
+#error Incorrect Vamp SDK header included (not the expected 2.0 SDK)
+#endif
+
+
+//#define DEBUG_PLUGIN_ADAPTER 1
+
+_VAMP_SDK_PLUGSPACE_BEGIN(PluginAdapter.cpp)
+
+namespace Vamp {
+
+class PluginAdapterBase::Impl
+{
+public:
+ Impl(PluginAdapterBase *);
+ ~Impl();
+
+ const VampPluginDescriptor *getDescriptor();
+
+protected:
+ PluginAdapterBase *m_base;
+
+ static VampPluginHandle vampInstantiate(const VampPluginDescriptor *desc,
+ float inputSampleRate);
+
+ static void vampCleanup(VampPluginHandle handle);
+
+ static int vampInitialise(VampPluginHandle handle, unsigned int channels,
+ unsigned int stepSize, unsigned int blockSize);
+
+ static void vampReset(VampPluginHandle handle);
+
+ static float vampGetParameter(VampPluginHandle handle, int param);
+ static void vampSetParameter(VampPluginHandle handle, int param, float value);
+
+ static unsigned int vampGetCurrentProgram(VampPluginHandle handle);
+ static void vampSelectProgram(VampPluginHandle handle, unsigned int program);
+
+ static unsigned int vampGetPreferredStepSize(VampPluginHandle handle);
+ static unsigned int vampGetPreferredBlockSize(VampPluginHandle handle);
+ static unsigned int vampGetMinChannelCount(VampPluginHandle handle);
+ static unsigned int vampGetMaxChannelCount(VampPluginHandle handle);
+
+ static unsigned int vampGetOutputCount(VampPluginHandle handle);
+
+ static VampOutputDescriptor *vampGetOutputDescriptor(VampPluginHandle handle,
+ unsigned int i);
+
+ static void vampReleaseOutputDescriptor(VampOutputDescriptor *desc);
+
+ static VampFeatureList *vampProcess(VampPluginHandle handle,
+ const float *const *inputBuffers,
+ int sec,
+ int nsec);
+
+ static VampFeatureList *vampGetRemainingFeatures(VampPluginHandle handle);
+
+ static void vampReleaseFeatureSet(VampFeatureList *fs);
+
+ void checkOutputMap(Plugin *plugin);
+ void markOutputsChanged(Plugin *plugin);
+
+ void cleanup(Plugin *plugin);
+ unsigned int getOutputCount(Plugin *plugin);
+ VampOutputDescriptor *getOutputDescriptor(Plugin *plugin,
+ unsigned int i);
+ VampFeatureList *process(Plugin *plugin,
+ const float *const *inputBuffers,
+ int sec, int nsec);
+ VampFeatureList *getRemainingFeatures(Plugin *plugin);
+ VampFeatureList *convertFeatures(Plugin *plugin,
+ const Plugin::FeatureSet &features);
+
+ // maps both plugins and descriptors to adapters
+ typedef std::map<const void *, Impl *> AdapterMap;
+ static AdapterMap *m_adapterMap;
+ static Impl *lookupAdapter(VampPluginHandle);
+
+ bool m_populated;
+ VampPluginDescriptor m_descriptor;
+ Plugin::ParameterList m_parameters;
+ Plugin::ProgramList m_programs;
+
+ typedef std::map<Plugin *, Plugin::OutputList *> OutputMap;
+ OutputMap m_pluginOutputs;
+
+ std::map<Plugin *, VampFeatureList *> m_fs;
+ std::map<Plugin *, std::vector<size_t> > m_fsizes;
+ std::map<Plugin *, std::vector<std::vector<size_t> > > m_fvsizes;
+ void resizeFS(Plugin *plugin, int n);
+ void resizeFL(Plugin *plugin, int n, size_t sz);
+ void resizeFV(Plugin *plugin, int n, int j, size_t sz);
+};
+
+PluginAdapterBase::PluginAdapterBase()
+{
+ m_impl = new Impl(this);
+}
+
+PluginAdapterBase::~PluginAdapterBase()
+{
+ delete m_impl;
+}
+
+const VampPluginDescriptor *
+PluginAdapterBase::getDescriptor()
+{
+ return m_impl->getDescriptor();
+}
+
+PluginAdapterBase::Impl::Impl(PluginAdapterBase *base) :
+ m_base(base),
+ m_populated(false)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl[" << this << "]::Impl" << std::endl;
+#endif
+}
+
+const VampPluginDescriptor *
+PluginAdapterBase::Impl::getDescriptor()
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl[" << this << "]::getDescriptor" << std::endl;
+#endif
+
+ if (m_populated) return &m_descriptor;
+
+ Plugin *plugin = m_base->createPlugin(48000);
+
+ if (plugin->getVampApiVersion() != VAMP_API_VERSION) {
+ std::cerr << "Vamp::PluginAdapterBase::Impl::getDescriptor: ERROR: "
+ << "API version " << plugin->getVampApiVersion()
+ << " for\nplugin \"" << plugin->getIdentifier() << "\" "
+ << "differs from version "
+ << VAMP_API_VERSION << " for adapter.\n"
+ << "This plugin is probably linked against a different version of the Vamp SDK\n"
+ << "from the version it was compiled with. It will need to be re-linked correctly\n"
+ << "before it can be used." << std::endl;
+ delete plugin;
+ return 0;
+ }
+
+ m_parameters = plugin->getParameterDescriptors();
+ m_programs = plugin->getPrograms();
+
+ m_descriptor.vampApiVersion = plugin->getVampApiVersion();
+ m_descriptor.identifier = strdup(plugin->getIdentifier().c_str());
+ m_descriptor.name = strdup(plugin->getName().c_str());
+ m_descriptor.description = strdup(plugin->getDescription().c_str());
+ m_descriptor.maker = strdup(plugin->getMaker().c_str());
+ m_descriptor.pluginVersion = plugin->getPluginVersion();
+ m_descriptor.copyright = strdup(plugin->getCopyright().c_str());
+
+ m_descriptor.parameterCount = m_parameters.size();
+ m_descriptor.parameters = (const VampParameterDescriptor **)
+ malloc(m_parameters.size() * sizeof(VampParameterDescriptor));
+
+ unsigned int i;
+
+ for (i = 0; i < m_parameters.size(); ++i) {
+ VampParameterDescriptor *desc = (VampParameterDescriptor *)
+ malloc(sizeof(VampParameterDescriptor));
+ desc->identifier = strdup(m_parameters[i].identifier.c_str());
+ desc->name = strdup(m_parameters[i].name.c_str());
+ desc->description = strdup(m_parameters[i].description.c_str());
+ desc->unit = strdup(m_parameters[i].unit.c_str());
+ desc->minValue = m_parameters[i].minValue;
+ desc->maxValue = m_parameters[i].maxValue;
+ desc->defaultValue = m_parameters[i].defaultValue;
+ desc->isQuantized = m_parameters[i].isQuantized;
+ desc->quantizeStep = m_parameters[i].quantizeStep;
+ desc->valueNames = 0;
+ if (desc->isQuantized && !m_parameters[i].valueNames.empty()) {
+ desc->valueNames = (const char **)
+ malloc((m_parameters[i].valueNames.size()+1) * sizeof(char *));
+ for (unsigned int j = 0; j < m_parameters[i].valueNames.size(); ++j) {
+ desc->valueNames[j] = strdup(m_parameters[i].valueNames[j].c_str());
+ }
+ desc->valueNames[m_parameters[i].valueNames.size()] = 0;
+ }
+ m_descriptor.parameters[i] = desc;
+ }
+
+ m_descriptor.programCount = m_programs.size();
+ m_descriptor.programs = (const char **)
+ malloc(m_programs.size() * sizeof(const char *));
+
+ for (i = 0; i < m_programs.size(); ++i) {
+ m_descriptor.programs[i] = strdup(m_programs[i].c_str());
+ }
+
+ if (plugin->getInputDomain() == Plugin::FrequencyDomain) {
+ m_descriptor.inputDomain = vampFrequencyDomain;
+ } else {
+ m_descriptor.inputDomain = vampTimeDomain;
+ }
+
+ m_descriptor.instantiate = vampInstantiate;
+ m_descriptor.cleanup = vampCleanup;
+ m_descriptor.initialise = vampInitialise;
+ m_descriptor.reset = vampReset;
+ m_descriptor.getParameter = vampGetParameter;
+ m_descriptor.setParameter = vampSetParameter;
+ m_descriptor.getCurrentProgram = vampGetCurrentProgram;
+ m_descriptor.selectProgram = vampSelectProgram;
+ m_descriptor.getPreferredStepSize = vampGetPreferredStepSize;
+ m_descriptor.getPreferredBlockSize = vampGetPreferredBlockSize;
+ m_descriptor.getMinChannelCount = vampGetMinChannelCount;
+ m_descriptor.getMaxChannelCount = vampGetMaxChannelCount;
+ m_descriptor.getOutputCount = vampGetOutputCount;
+ m_descriptor.getOutputDescriptor = vampGetOutputDescriptor;
+ m_descriptor.releaseOutputDescriptor = vampReleaseOutputDescriptor;
+ m_descriptor.process = vampProcess;
+ m_descriptor.getRemainingFeatures = vampGetRemainingFeatures;
+ m_descriptor.releaseFeatureSet = vampReleaseFeatureSet;
+
+ if (!m_adapterMap) {
+ m_adapterMap = new AdapterMap;
+ }
+ (*m_adapterMap)[&m_descriptor] = this;
+
+ delete plugin;
+
+ m_populated = true;
+ return &m_descriptor;
+}
+
+PluginAdapterBase::Impl::~Impl()
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl[" << this << "]::~Impl" << std::endl;
+#endif
+
+ if (!m_populated) return;
+
+ free((void *)m_descriptor.identifier);
+ free((void *)m_descriptor.name);
+ free((void *)m_descriptor.description);
+ free((void *)m_descriptor.maker);
+ free((void *)m_descriptor.copyright);
+
+ for (unsigned int i = 0; i < m_descriptor.parameterCount; ++i) {
+ const VampParameterDescriptor *desc = m_descriptor.parameters[i];
+ free((void *)desc->identifier);
+ free((void *)desc->name);
+ free((void *)desc->description);
+ free((void *)desc->unit);
+ if (desc->valueNames) {
+ for (unsigned int j = 0; desc->valueNames[j]; ++j) {
+ free((void *)desc->valueNames[j]);
+ }
+ free((void *)desc->valueNames);
+ }
+ }
+ free((void *)m_descriptor.parameters);
+
+ for (unsigned int i = 0; i < m_descriptor.programCount; ++i) {
+ free((void *)m_descriptor.programs[i]);
+ }
+ free((void *)m_descriptor.programs);
+
+ if (m_adapterMap) {
+
+ m_adapterMap->erase(&m_descriptor);
+
+ if (m_adapterMap->empty()) {
+ delete m_adapterMap;
+ m_adapterMap = 0;
+ }
+ }
+}
+
+PluginAdapterBase::Impl *
+PluginAdapterBase::Impl::lookupAdapter(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::lookupAdapter(" << handle << ")" << std::endl;
+#endif
+
+ if (!m_adapterMap) return 0;
+ AdapterMap::const_iterator i = m_adapterMap->find(handle);
+ if (i == m_adapterMap->end()) return 0;
+ return i->second;
+}
+
+VampPluginHandle
+PluginAdapterBase::Impl::vampInstantiate(const VampPluginDescriptor *desc,
+ float inputSampleRate)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampInstantiate(" << desc << ")" << std::endl;
+#endif
+
+ if (!m_adapterMap) {
+ m_adapterMap = new AdapterMap();
+ }
+
+ if (m_adapterMap->find(desc) == m_adapterMap->end()) {
+ std::cerr << "WARNING: PluginAdapterBase::Impl::vampInstantiate: Descriptor " << desc << " not in adapter map" << std::endl;
+ return 0;
+ }
+
+ Impl *adapter = (*m_adapterMap)[desc];
+ if (desc != &adapter->m_descriptor) return 0;
+
+ Plugin *plugin = adapter->m_base->createPlugin(inputSampleRate);
+ if (plugin) {
+ (*m_adapterMap)[plugin] = adapter;
+ }
+
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampInstantiate(" << desc << "): returning handle " << plugin << std::endl;
+#endif
+
+ return plugin;
+}
+
+void
+PluginAdapterBase::Impl::vampCleanup(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampCleanup(" << handle << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) {
+ delete ((Plugin *)handle);
+ return;
+ }
+ adapter->cleanup(((Plugin *)handle));
+}
+
+int
+PluginAdapterBase::Impl::vampInitialise(VampPluginHandle handle,
+ unsigned int channels,
+ unsigned int stepSize,
+ unsigned int blockSize)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampInitialise(" << handle << ", " << channels << ", " << stepSize << ", " << blockSize << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return 0;
+ bool result = ((Plugin *)handle)->initialise(channels, stepSize, blockSize);
+ adapter->markOutputsChanged((Plugin *)handle);
+ return result ? 1 : 0;
+}
+
+void
+PluginAdapterBase::Impl::vampReset(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampReset(" << handle << ")" << std::endl;
+#endif
+
+ ((Plugin *)handle)->reset();
+}
+
+float
+PluginAdapterBase::Impl::vampGetParameter(VampPluginHandle handle,
+ int param)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetParameter(" << handle << ", " << param << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return 0.0;
+ Plugin::ParameterList &list = adapter->m_parameters;
+ return ((Plugin *)handle)->getParameter(list[param].identifier);
+}
+
+void
+PluginAdapterBase::Impl::vampSetParameter(VampPluginHandle handle,
+ int param, float value)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampSetParameter(" << handle << ", " << param << ", " << value << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return;
+ Plugin::ParameterList &list = adapter->m_parameters;
+ ((Plugin *)handle)->setParameter(list[param].identifier, value);
+ adapter->markOutputsChanged((Plugin *)handle);
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetCurrentProgram(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetCurrentProgram(" << handle << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return 0;
+ Plugin::ProgramList &list = adapter->m_programs;
+ std::string program = ((Plugin *)handle)->getCurrentProgram();
+ for (unsigned int i = 0; i < list.size(); ++i) {
+ if (list[i] == program) return i;
+ }
+ return 0;
+}
+
+void
+PluginAdapterBase::Impl::vampSelectProgram(VampPluginHandle handle,
+ unsigned int program)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampSelectProgram(" << handle << ", " << program << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return;
+
+ Plugin::ProgramList &list = adapter->m_programs;
+ ((Plugin *)handle)->selectProgram(list[program]);
+
+ adapter->markOutputsChanged((Plugin *)handle);
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetPreferredStepSize(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetPreferredStepSize(" << handle << ")" << std::endl;
+#endif
+
+ return ((Plugin *)handle)->getPreferredStepSize();
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetPreferredBlockSize(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetPreferredBlockSize(" << handle << ")" << std::endl;
+#endif
+
+ return ((Plugin *)handle)->getPreferredBlockSize();
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetMinChannelCount(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetMinChannelCount(" << handle << ")" << std::endl;
+#endif
+
+ return ((Plugin *)handle)->getMinChannelCount();
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetMaxChannelCount(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetMaxChannelCount(" << handle << ")" << std::endl;
+#endif
+
+ return ((Plugin *)handle)->getMaxChannelCount();
+}
+
+unsigned int
+PluginAdapterBase::Impl::vampGetOutputCount(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetOutputCount(" << handle << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+
+// std::cerr << "vampGetOutputCount: handle " << handle << " -> adapter "<< adapter << std::endl;
+
+ if (!adapter) return 0;
+ return adapter->getOutputCount((Plugin *)handle);
+}
+
+VampOutputDescriptor *
+PluginAdapterBase::Impl::vampGetOutputDescriptor(VampPluginHandle handle,
+ unsigned int i)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetOutputDescriptor(" << handle << ", " << i << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+
+// std::cerr << "vampGetOutputDescriptor: handle " << handle << " -> adapter "<< adapter << std::endl;
+
+ if (!adapter) return 0;
+ return adapter->getOutputDescriptor((Plugin *)handle, i);
+}
+
+void
+PluginAdapterBase::Impl::vampReleaseOutputDescriptor(VampOutputDescriptor *desc)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampReleaseOutputDescriptor(" << desc << ")" << std::endl;
+#endif
+
+ if (desc->identifier) free((void *)desc->identifier);
+ if (desc->name) free((void *)desc->name);
+ if (desc->description) free((void *)desc->description);
+ if (desc->unit) free((void *)desc->unit);
+ if (desc->hasFixedBinCount && desc->binNames) {
+ for (unsigned int i = 0; i < desc->binCount; ++i) {
+ if (desc->binNames[i]) {
+ free((void *)desc->binNames[i]);
+ }
+ }
+ }
+ if (desc->binNames) free((void *)desc->binNames);
+ free((void *)desc);
+}
+
+VampFeatureList *
+PluginAdapterBase::Impl::vampProcess(VampPluginHandle handle,
+ const float *const *inputBuffers,
+ int sec,
+ int nsec)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampProcess(" << handle << ", " << sec << ", " << nsec << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return 0;
+ return adapter->process((Plugin *)handle, inputBuffers, sec, nsec);
+}
+
+VampFeatureList *
+PluginAdapterBase::Impl::vampGetRemainingFeatures(VampPluginHandle handle)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampGetRemainingFeatures(" << handle << ")" << std::endl;
+#endif
+
+ Impl *adapter = lookupAdapter(handle);
+ if (!adapter) return 0;
+ return adapter->getRemainingFeatures((Plugin *)handle);
+}
+
+void
+PluginAdapterBase::Impl::vampReleaseFeatureSet(VampFeatureList *fs)
+{
+#ifdef DEBUG_PLUGIN_ADAPTER
+ std::cerr << "PluginAdapterBase::Impl::vampReleaseFeatureSet" << std::endl;
+#endif
+}
+
+void
+PluginAdapterBase::Impl::cleanup(Plugin *plugin)
+{
+ if (m_fs.find(plugin) != m_fs.end()) {
+ size_t outputCount = 0;
+ if (m_pluginOutputs[plugin]) {
+ outputCount = m_pluginOutputs[plugin]->size();
+ }
+ VampFeatureList *list = m_fs[plugin];
+ for (unsigned int i = 0; i < outputCount; ++i) {
+ for (unsigned int j = 0; j < m_fsizes[plugin][i]; ++j) {
+ if (list[i].features[j].v1.label) {
+ free(list[i].features[j].v1.label);
+ }
+ if (list[i].features[j].v1.values) {
+ free(list[i].features[j].v1.values);
+ }
+ }
+ if (list[i].features) free(list[i].features);
+ }
+ m_fs.erase(plugin);
+ m_fsizes.erase(plugin);
+ m_fvsizes.erase(plugin);
+ }
+
+ if (m_pluginOutputs.find(plugin) != m_pluginOutputs.end()) {
+ delete m_pluginOutputs[plugin];
+ m_pluginOutputs.erase(plugin);
+ }
+
+ if (m_adapterMap) {
+ m_adapterMap->erase(plugin);
+
+ if (m_adapterMap->empty()) {
+ delete m_adapterMap;
+ m_adapterMap = 0;
+ }
+ }
+
+ delete ((Plugin *)plugin);
+}
+
+void
+PluginAdapterBase::Impl::checkOutputMap(Plugin *plugin)
+{
+ OutputMap::iterator i = m_pluginOutputs.find(plugin);
+
+ if (i == m_pluginOutputs.end() || !i->second) {
+
+ m_pluginOutputs[plugin] = new Plugin::OutputList
+ (plugin->getOutputDescriptors());
+
+// std::cerr << "PluginAdapterBase::Impl::checkOutputMap: Have " << m_pluginOutputs[plugin]->size() << " outputs for plugin " << plugin->getIdentifier() << std::endl;
+ }
+}
+
+void
+PluginAdapterBase::Impl::markOutputsChanged(Plugin *plugin)
+{
+ OutputMap::iterator i = m_pluginOutputs.find(plugin);
+
+// std::cerr << "PluginAdapterBase::Impl::markOutputsChanged" << std::endl;
+
+ if (i != m_pluginOutputs.end()) {
+
+ Plugin::OutputList *list = i->second;
+ m_pluginOutputs.erase(i);
+ delete list;
+ }
+}
+
+unsigned int
+PluginAdapterBase::Impl::getOutputCount(Plugin *plugin)
+{
+ checkOutputMap(plugin);
+
+ return m_pluginOutputs[plugin]->size();
+}
+
+VampOutputDescriptor *
+PluginAdapterBase::Impl::getOutputDescriptor(Plugin *plugin,
+ unsigned int i)
+{
+ checkOutputMap(plugin);
+
+ Plugin::OutputDescriptor &od =
+ (*m_pluginOutputs[plugin])[i];
+
+ VampOutputDescriptor *desc = (VampOutputDescriptor *)
+ malloc(sizeof(VampOutputDescriptor));
+
+ desc->identifier = strdup(od.identifier.c_str());
+ desc->name = strdup(od.name.c_str());
+ desc->description = strdup(od.description.c_str());
+ desc->unit = strdup(od.unit.c_str());
+ desc->hasFixedBinCount = od.hasFixedBinCount;
+ desc->binCount = od.binCount;
+
+ if (od.hasFixedBinCount && od.binCount > 0
+ // We would like to do "&& !od.binNames.empty()" here -- but we
+ // can't, because it will crash older versions of the host adapter
+ // which try to copy the names across whenever the bin count is
+ // non-zero, regardless of whether they exist or not
+ ) {
+ desc->binNames = (const char **)
+ malloc(od.binCount * sizeof(const char *));
+
+ for (unsigned int i = 0; i < od.binCount; ++i) {
+ if (i < od.binNames.size()) {
+ desc->binNames[i] = strdup(od.binNames[i].c_str());
+ } else {
+ desc->binNames[i] = 0;
+ }
+ }
+ } else {
+ desc->binNames = 0;
+ }
+
+ desc->hasKnownExtents = od.hasKnownExtents;
+ desc->minValue = od.minValue;
+ desc->maxValue = od.maxValue;
+ desc->isQuantized = od.isQuantized;
+ desc->quantizeStep = od.quantizeStep;
+
+ switch (od.sampleType) {
+ case Plugin::OutputDescriptor::OneSamplePerStep:
+ desc->sampleType = vampOneSamplePerStep; break;
+ case Plugin::OutputDescriptor::FixedSampleRate:
+ desc->sampleType = vampFixedSampleRate; break;
+ case Plugin::OutputDescriptor::VariableSampleRate:
+ desc->sampleType = vampVariableSampleRate; break;
+ }
+
+ desc->sampleRate = od.sampleRate;
+ desc->hasDuration = od.hasDuration;
+
+ return desc;
+}
+
+VampFeatureList *
+PluginAdapterBase::Impl::process(Plugin *plugin,
+ const float *const *inputBuffers,
+ int sec, int nsec)
+{
+// std::cerr << "PluginAdapterBase::Impl::process" << std::endl;
+ RealTime rt(sec, nsec);
+ checkOutputMap(plugin);
+ return convertFeatures(plugin, plugin->process(inputBuffers, rt));
+}
+
+VampFeatureList *
+PluginAdapterBase::Impl::getRemainingFeatures(Plugin *plugin)
+{
+// std::cerr << "PluginAdapterBase::Impl::getRemainingFeatures" << std::endl;
+ checkOutputMap(plugin);
+ return convertFeatures(plugin, plugin->getRemainingFeatures());
+}
+
+VampFeatureList *
+PluginAdapterBase::Impl::convertFeatures(Plugin *plugin,
+ const Plugin::FeatureSet &features)
+{
+ int lastN = -1;
+
+ int outputCount = 0;
+ if (m_pluginOutputs[plugin]) outputCount = m_pluginOutputs[plugin]->size();
+
+ resizeFS(plugin, outputCount);
+ VampFeatureList *fs = m_fs[plugin];
+
+// std::cerr << "PluginAdapter(v2)::convertFeatures: NOTE: sizeof(Feature) == " << sizeof(Plugin::Feature) << ", sizeof(VampFeature) == " << sizeof(VampFeature) << ", sizeof(VampFeatureList) == " << sizeof(VampFeatureList) << std::endl;
+
+ for (Plugin::FeatureSet::const_iterator fi = features.begin();
+ fi != features.end(); ++fi) {
+
+ int n = fi->first;
+
+// std::cerr << "PluginAdapterBase::Impl::convertFeatures: n = " << n << std::endl;
+
+ if (n >= int(outputCount)) {
+ std::cerr << "WARNING: PluginAdapterBase::Impl::convertFeatures: Too many outputs from plugin (" << n+1 << ", only should be " << outputCount << ")" << std::endl;
+ continue;
+ }
+
+ if (n > lastN + 1) {
+ for (int i = lastN + 1; i < n; ++i) {
+ fs[i].featureCount = 0;
+ }
+ }
+
+ const Plugin::FeatureList &fl = fi->second;
+
+ size_t sz = fl.size();
+ if (sz > m_fsizes[plugin][n]) resizeFL(plugin, n, sz);
+ fs[n].featureCount = sz;
+
+ for (size_t j = 0; j < sz; ++j) {
+
+// std::cerr << "PluginAdapterBase::Impl::convertFeatures: j = " << j << std::endl;
+
+ VampFeature *feature = &fs[n].features[j].v1;
+
+ feature->hasTimestamp = fl[j].hasTimestamp;
+ feature->sec = fl[j].timestamp.sec;
+ feature->nsec = fl[j].timestamp.nsec;
+ feature->valueCount = fl[j].values.size();
+
+ VampFeatureV2 *v2 = &fs[n].features[j + sz].v2;
+
+ v2->hasDuration = fl[j].hasDuration;
+ v2->durationSec = fl[j].duration.sec;
+ v2->durationNsec = fl[j].duration.nsec;
+
+ if (feature->label) free(feature->label);
+
+ if (fl[j].label.empty()) {
+ feature->label = 0;
+ } else {
+ feature->label = strdup(fl[j].label.c_str());
+ }
+
+ if (feature->valueCount > m_fvsizes[plugin][n][j]) {
+ resizeFV(plugin, n, j, feature->valueCount);
+ }
+
+ for (unsigned int k = 0; k < feature->valueCount; ++k) {
+// std::cerr << "PluginAdapterBase::Impl::convertFeatures: k = " << k << std::endl;
+ feature->values[k] = fl[j].values[k];
+ }
+ }
+
+ lastN = n;
+ }
+
+ if (lastN == -1) return 0;
+
+ if (int(outputCount) > lastN + 1) {
+ for (int i = lastN + 1; i < int(outputCount); ++i) {
+ fs[i].featureCount = 0;
+ }
+ }
+
+// std::cerr << "PluginAdapter(v2)::convertFeatures: NOTE: have " << outputCount << " outputs" << std::endl;
+// for (int i = 0; i < outputCount; ++i) {
+// std::cerr << "PluginAdapter(v2)::convertFeatures: NOTE: output " << i << " has " << fs[i].featureCount << " features" << std::endl;
+// }
+
+
+ return fs;
+}
+
+void
+PluginAdapterBase::Impl::resizeFS(Plugin *plugin, int n)
+{
+// std::cerr << "PluginAdapterBase::Impl::resizeFS(" << plugin << ", " << n << ")" << std::endl;
+
+ int i = m_fsizes[plugin].size();
+ if (i >= n) return;
+
+// std::cerr << "resizing from " << i << std::endl;
+
+ m_fs[plugin] = (VampFeatureList *)realloc
+ (m_fs[plugin], n * sizeof(VampFeatureList));
+
+ while (i < n) {
+ m_fs[plugin][i].featureCount = 0;
+ m_fs[plugin][i].features = 0;
+ m_fsizes[plugin].push_back(0);
+ m_fvsizes[plugin].push_back(std::vector<size_t>());
+ i++;
+ }
+}
+
+void
+PluginAdapterBase::Impl::resizeFL(Plugin *plugin, int n, size_t sz)
+{
+// std::cerr << "PluginAdapterBase::Impl::resizeFL(" << plugin << ", " << n << ", "
+// << sz << ")" << std::endl;
+
+ size_t i = m_fsizes[plugin][n];
+ if (i >= sz) return;
+
+// std::cerr << "resizing from " << i << std::endl;
+
+ m_fs[plugin][n].features = (VampFeatureUnion *)realloc
+ (m_fs[plugin][n].features, 2 * sz * sizeof(VampFeatureUnion));
+
+ while (m_fsizes[plugin][n] < sz) {
+ m_fs[plugin][n].features[m_fsizes[plugin][n]].v1.hasTimestamp = 0;
+ m_fs[plugin][n].features[m_fsizes[plugin][n]].v1.valueCount = 0;
+ m_fs[plugin][n].features[m_fsizes[plugin][n]].v1.values = 0;
+ m_fs[plugin][n].features[m_fsizes[plugin][n]].v1.label = 0;
+ m_fs[plugin][n].features[m_fsizes[plugin][n] + sz].v2.hasDuration = 0;
+ m_fvsizes[plugin][n].push_back(0);
+ m_fsizes[plugin][n]++;
+ }
+}
+
+void
+PluginAdapterBase::Impl::resizeFV(Plugin *plugin, int n, int j, size_t sz)
+{
+// std::cerr << "PluginAdapterBase::Impl::resizeFV(" << plugin << ", " << n << ", "
+// << j << ", " << sz << ")" << std::endl;
+
+ size_t i = m_fvsizes[plugin][n][j];
+ if (i >= sz) return;
+
+// std::cerr << "resizing from " << i << std::endl;
+
+ m_fs[plugin][n].features[j].v1.values = (float *)realloc
+ (m_fs[plugin][n].features[j].v1.values, sz * sizeof(float));
+
+ m_fvsizes[plugin][n][j] = sz;
+}
+
+PluginAdapterBase::Impl::AdapterMap *
+PluginAdapterBase::Impl::m_adapterMap = 0;
+
+}
+
+_VAMP_SDK_PLUGSPACE_END(PluginAdapter.cpp)
+
diff --git a/libs/vamp-sdk/src/vamp-sdk/RealTime.cpp b/libs/vamp-sdk/src/vamp-sdk/RealTime.cpp
new file mode 100644
index 0000000..d3c4364
--- /dev/null
+++ b/libs/vamp-sdk/src/vamp-sdk/RealTime.cpp
@@ -0,0 +1,252 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+/*
+ This is a modified version of a source file from the
+ Rosegarden MIDI and audio sequencer and notation editor.
+ This file copyright 2000-2006 Chris Cannam.
+ Relicensed by the author as detailed above.
+*/
+
+#include <iostream>
+
+#if (__GNUC__ < 3)
+#include <strstream>
+#define stringstream strstream
+#else
+#include <sstream>
+#endif
+
+using std::cerr;
+using std::endl;
+
+#ifndef _WIN32
+#include <sys/time.h>
+#endif
+
+#include <vamp-sdk/RealTime.h>
+
+_VAMP_SDK_PLUGSPACE_BEGIN(RealTime.cpp)
+
+namespace Vamp {
+
+// A RealTime consists of two ints that must be at least 32 bits each.
+// A signed 32-bit int can store values exceeding +/- 2 billion. This
+// means we can safely use our lower int for nanoseconds, as there are
+// 1 billion nanoseconds in a second and we need to handle double that
+// because of the implementations of addition etc that we use.
+//
+// The maximum valid RealTime on a 32-bit system is somewhere around
+// 68 years: 999999999 nanoseconds longer than the classic Unix epoch.
+
+#define ONE_BILLION 1000000000
+
+RealTime::RealTime(int s, int n) :
+ sec(s), nsec(n)
+{
+ if (sec == 0) {
+ while (nsec <= -ONE_BILLION) { nsec += ONE_BILLION; --sec; }
+ while (nsec >= ONE_BILLION) { nsec -= ONE_BILLION; ++sec; }
+ } else if (sec < 0) {
+ while (nsec <= -ONE_BILLION) { nsec += ONE_BILLION; --sec; }
+ while (nsec > 0) { nsec -= ONE_BILLION; ++sec; }
+ } else {
+ while (nsec >= ONE_BILLION) { nsec -= ONE_BILLION; ++sec; }
+ while (nsec < 0) { nsec += ONE_BILLION; --sec; }
+ }
+}
+
+RealTime
+RealTime::fromSeconds(double sec)
+{
+ return RealTime(int(sec), int((sec - int(sec)) * ONE_BILLION + 0.5));
+}
+
+RealTime
+RealTime::fromMilliseconds(int msec)
+{
+ return RealTime(msec / 1000, (msec % 1000) * 1000000);
+}
+
+#ifndef _WIN32
+RealTime
+RealTime::fromTimeval(const struct timeval &tv)
+{
+ return RealTime(tv.tv_sec, tv.tv_usec * 1000);
+}
+#endif
+
+std::ostream &operator<<(std::ostream &out, const RealTime &rt)
+{
+ if (rt < RealTime::zeroTime) {
+ out << "-";
+ } else {
+ out << " ";
+ }
+
+ int s = (rt.sec < 0 ? -rt.sec : rt.sec);
+ int n = (rt.nsec < 0 ? -rt.nsec : rt.nsec);
+
+ out << s << ".";
+
+ int nn(n);
+ if (nn == 0) out << "00000000";
+ else while (nn < (ONE_BILLION / 10)) {
+ out << "0";
+ nn *= 10;
+ }
+
+ out << n << "R";
+ return out;
+}
+
+std::string
+RealTime::toString() const
+{
+ std::stringstream out;
+ out << *this;
+
+#if (__GNUC__ < 3)
+ out << std::ends;
+#endif
+
+ std::string s = out.str();
+
+ // remove trailing R
+ return s.substr(0, s.length() - 1);
+}
+
+std::string
+RealTime::toText(bool fixedDp) const
+{
+ if (*this < RealTime::zeroTime) return "-" + (-*this).toText();
+
+ std::stringstream out;
+
+ if (sec >= 3600) {
+ out << (sec / 3600) << ":";
+ }
+
+ if (sec >= 60) {
+ out << (sec % 3600) / 60 << ":";
+ }
+
+ if (sec >= 10) {
+ out << ((sec % 60) / 10);
+ }
+
+ out << (sec % 10);
+
+ int ms = msec();
+
+ if (ms != 0) {
+ out << ".";
+ out << (ms / 100);
+ ms = ms % 100;
+ if (ms != 0) {
+ out << (ms / 10);
+ ms = ms % 10;
+ } else if (fixedDp) {
+ out << "0";
+ }
+ if (ms != 0) {
+ out << ms;
+ } else if (fixedDp) {
+ out << "0";
+ }
+ } else if (fixedDp) {
+ out << ".000";
+ }
+
+#if (__GNUC__ < 3)
+ out << std::ends;
+#endif
+
+ std::string s = out.str();
+
+ return s;
+}
+
+
+RealTime
+RealTime::operator/(int d) const
+{
+ int secdiv = sec / d;
+ int secrem = sec % d;
+
+ double nsecdiv = (double(nsec) + ONE_BILLION * double(secrem)) / d;
+
+ return RealTime(secdiv, int(nsecdiv + 0.5));
+}
+
+double
+RealTime::operator/(const RealTime &r) const
+{
+ double lTotal = double(sec) * ONE_BILLION + double(nsec);
+ double rTotal = double(r.sec) * ONE_BILLION + double(r.nsec);
+
+ if (rTotal == 0) return 0.0;
+ else return lTotal/rTotal;
+}
+
+long
+RealTime::realTime2Frame(const RealTime &time, unsigned int sampleRate)
+{
+ if (time < zeroTime) return -realTime2Frame(-time, sampleRate);
+ double s = time.sec + double(time.nsec + 1) / 1000000000.0;
+ return long(s * sampleRate);
+}
+
+RealTime
+RealTime::frame2RealTime(long frame, unsigned int sampleRate)
+{
+ if (frame < 0) return -frame2RealTime(-frame, sampleRate);
+
+ RealTime rt;
+ rt.sec = frame / long(sampleRate);
+ frame -= rt.sec * long(sampleRate);
+ rt.nsec = (int)(((double(frame) * 1000000.0) / sampleRate) * 1000.0);
+ return rt;
+}
+
+const RealTime RealTime::zeroTime(0,0);
+
+}
+
+_VAMP_SDK_PLUGSPACE_END(RealTime.cpp)
+
+
+
diff --git a/libs/vamp-sdk/vamp-hostsdk/Plugin.h b/libs/vamp-sdk/vamp-hostsdk/Plugin.h
new file mode 100644
index 0000000..72a3b64
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/Plugin.h
@@ -0,0 +1,47 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_HOSTSDK_PLUGIN_H_
+#define _VAMP_HOSTSDK_PLUGIN_H_
+
+// Do not include vamp-sdk/Plugin.h directly from host code. Always
+// use this header instead.
+
+#include "hostguard.h"
+
+#include <vamp-sdk/Plugin.h>
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginBase.h b/libs/vamp-sdk/vamp-hostsdk/PluginBase.h
new file mode 100644
index 0000000..f12c25a
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginBase.h
@@ -0,0 +1,47 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_HOSTSDK_PLUGIN_BASE_H_
+#define _VAMP_HOSTSDK_PLUGIN_BASE_H_
+
+// Do not include vamp-sdk/PluginBase.h directly from host code.
+// Always use this header instead.
+
+#include "hostguard.h"
+
+#include <vamp-sdk/PluginBase.h>
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginBufferingAdapter.h b/libs/vamp-sdk/vamp-hostsdk/PluginBufferingAdapter.h
new file mode 100644
index 0000000..21c2b36
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginBufferingAdapter.h
@@ -0,0 +1,194 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+ This file by Mark Levy and Chris Cannam, Copyright 2007-2008 QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_BUFFERING_ADAPTER_H_
+#define _VAMP_PLUGIN_BUFFERING_ADAPTER_H_
+
+#include "hostguard.h"
+#include "PluginWrapper.h"
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginBufferingAdapter.h)
+
+namespace Vamp {
+
+namespace HostExt {
+
+/**
+ * \class PluginBufferingAdapter PluginBufferingAdapter.h <vamp-hostsdk/PluginBufferingAdapter.h>
+ *
+ * PluginBufferingAdapter is a Vamp plugin adapter that allows plugins
+ * to be used by a host supplying an audio stream in non-overlapping
+ * buffers of arbitrary size.
+ *
+ * A host using PluginBufferingAdapter may ignore the preferred step
+ * and block size reported by the plugin, and still expect the plugin
+ * to run. The value of blockSize and stepSize passed to initialise
+ * should be the size of the buffer which the host will supply; the
+ * stepSize should be equal to the blockSize.
+ *
+ * If the internal step size used for the plugin differs from that
+ * supplied by the host, the adapter will modify the sample type and
+ * rate specifications for the plugin outputs appropriately, and set
+ * timestamps on the output features for outputs that formerly used a
+ * different sample rate specification. This is necessary in order to
+ * obtain correct time stamping.
+ *
+ * In other respects, the PluginBufferingAdapter behaves identically
+ * to the plugin that it wraps. The wrapped plugin will be deleted
+ * when the wrapper is deleted.
+ */
+
+class PluginBufferingAdapter : public PluginWrapper
+{
+public:
+ /**
+ * Construct a PluginBufferingAdapter wrapping the given plugin.
+ * The adapter takes ownership of the plugin, which will be
+ * deleted when the adapter is deleted.
+ */
+ PluginBufferingAdapter(Plugin *plugin);
+ virtual ~PluginBufferingAdapter();
+
+ /**
+ * Return the preferred step size for this adapter.
+ *
+ * Because of the way this adapter works, its preferred step size
+ * will always be the same as its preferred block size. This may
+ * or may not be the same as the preferred step size of the
+ * underlying plugin, which may be obtained by calling
+ * getPluginPreferredStepSize().
+ */
+ size_t getPreferredStepSize() const;
+
+ /**
+ * Return the preferred block size for this adapter.
+ *
+ * This may or may not be the same as the preferred block size of
+ * the underlying plugin, which may be obtained by calling
+ * getPluginPreferredBlockSize().
+ *
+ * Note that this adapter may be initialised with any block size,
+ * not just its supposedly preferred one.
+ */
+ size_t getPreferredBlockSize() const;
+
+ /**
+ * Initialise the adapter (and therefore the plugin) for the given
+ * number of channels. Initialise the adapter for the given step
+ * and block size, which must be equal.
+ *
+ * The step and block size used for the underlying plugin will
+ * depend on its preferences, or any values previously passed to
+ * setPluginStepSize and setPluginBlockSize.
+ */
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ /**
+ * Return the preferred step size of the plugin wrapped by this
+ * adapter.
+ *
+ * This is included mainly for informational purposes. This value
+ * is not likely to be a valid step size for the adapter itself,
+ * and it is not usually of any use in interpreting the results
+ * (because the adapter re-writes OneSamplePerStep outputs to
+ * FixedSampleRate so that the hop size no longer needs to be
+ * known beforehand in order to interpret them).
+ */
+ size_t getPluginPreferredStepSize() const;
+
+ /**
+ * Return the preferred block size of the plugin wrapped by this
+ * adapter.
+ *
+ * This is included mainly for informational purposes.
+ */
+ size_t getPluginPreferredBlockSize() const;
+
+ /**
+ * Set the step size that will be used for the underlying plugin
+ * when initialise() is called. If this is not set, the plugin's
+ * own preferred step size will be used. You will not usually
+ * need to call this function. If you do call it, it must be
+ * before the first call to initialise().
+ */
+ void setPluginStepSize(size_t stepSize);
+
+ /**
+ * Set the block size that will be used for the underlying plugin
+ * when initialise() is called. If this is not set, the plugin's
+ * own preferred block size will be used. You will not usually
+ * need to call this function. If you do call it, it must be
+ * before the first call to initialise().
+ */
+ void setPluginBlockSize(size_t blockSize);
+
+ /**
+ * Return the step and block sizes that were actually used when
+ * initialising the underlying plugin.
+ *
+ * This is included mainly for informational purposes. You will
+ * not usually need to call this function. If this is called
+ * before initialise(), it will return 0 for both values. If it
+ * is called after a failed call to initialise(), it will return
+ * the values that were used in the failed call to the plugin's
+ * initialise() function.
+ */
+ void getActualStepAndBlockSizes(size_t &stepSize, size_t &blockSize);
+
+ void setParameter(std::string, float);
+ void selectProgram(std::string);
+
+ OutputList getOutputDescriptors() const;
+
+ void reset();
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ FeatureSet getRemainingFeatures();
+
+protected:
+ class Impl;
+ Impl *m_impl;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginBufferingAdapter.h)
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginChannelAdapter.h b/libs/vamp-sdk/vamp-hostsdk/PluginChannelAdapter.h
new file mode 100644
index 0000000..28ee82a
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginChannelAdapter.h
@@ -0,0 +1,149 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_CHANNEL_ADAPTER_H_
+#define _VAMP_PLUGIN_CHANNEL_ADAPTER_H_
+
+#include "hostguard.h"
+#include "PluginWrapper.h"
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginChannelAdapter.h)
+
+namespace Vamp {
+
+namespace HostExt {
+
+/**
+ * \class PluginChannelAdapter PluginChannelAdapter.h <vamp-hostsdk/PluginChannelAdapter.h>
+ *
+ * PluginChannelAdapter is a Vamp plugin adapter that implements a
+ * policy for management of plugins that expect a different number of
+ * input channels from the number actually available in the source
+ * audio data.
+ *
+ * A host using PluginChannelAdapter may ignore the getMinChannelCount
+ * and getMaxChannelCount reported by the plugin, and still expect the
+ * plugin to run.
+ *
+ * PluginChannelAdapter implements the following policy:
+ *
+ * - If the plugin supports the provided number of channels directly,
+ * PluginChannelAdapter will just run the plugin as normal.
+ *
+ * - If the plugin only supports exactly one channel but more than
+ * one channel is provided, PluginChannelAdapter will use the mean of
+ * the channels. This ensures that the resulting values remain
+ * within the same magnitude range as expected for mono data.
+ *
+ * - If the plugin requires more than one channel but exactly one is
+ * provided, the provided channel will be duplicated across all the
+ * plugin input channels.
+ *
+ * If none of the above apply:
+ *
+ * - If the plugin requires more channels than are provided, the
+ * minimum acceptable number of channels will be produced by adding
+ * empty (zero valued) channels to those provided.
+ *
+ * - If the plugin requires fewer channels than are provided, the
+ * maximum acceptable number of channels will be produced by
+ * discarding the excess channels.
+ *
+ * Hosts requiring a different channel policy from the above will need
+ * to implement it themselves, instead of using PluginChannelAdapter.
+ *
+ * Note that PluginChannelAdapter does not override the minimum and
+ * maximum channel counts returned by the wrapped plugin. The host
+ * will need to be aware that it is using a PluginChannelAdapter, and
+ * be prepared to ignore these counts as necessary. (This contrasts
+ * with the approach used in PluginInputDomainAdapter, which aims to
+ * make the host completely unaware of which underlying input domain
+ * is in fact in use.)
+ *
+ * (The rationale for this is that a host may wish to use the
+ * PluginChannelAdapter but still discriminate in some way on the
+ * basis of the number of channels actually supported. For example, a
+ * simple stereo audio host may prefer to reject plugins that require
+ * more than two channels on the grounds that doesn't actually
+ * understand what they are for, rather than allow the channel adapter
+ * to make a potentially meaningless channel conversion for them.)
+ *
+ * In every respect other than its management of channels, the
+ * PluginChannelAdapter behaves identically to the plugin that it
+ * wraps. The wrapped plugin will be deleted when the wrapper is
+ * deleted.
+ *
+ * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
+ */
+
+class PluginChannelAdapter : public PluginWrapper
+{
+public:
+ /**
+ * Construct a PluginChannelAdapter wrapping the given plugin.
+ * The adapter takes ownership of the plugin, which will be
+ * deleted when the adapter is deleted.
+ */
+ PluginChannelAdapter(Plugin *plugin);
+ virtual ~PluginChannelAdapter();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ /**
+ * Call process(), providing interleaved audio data with the
+ * number of channels passed to initialise(). The adapter will
+ * de-interleave into temporary buffers as appropriate before
+ * calling process().
+ *
+ * \note This function was introduced in version 1.4 of the Vamp
+ * plugin SDK.
+ */
+ FeatureSet processInterleaved(const float *inputBuffer, RealTime timestamp);
+
+protected:
+ class Impl;
+ Impl *m_impl;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginChannelAdapter.h)
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginHostAdapter.h b/libs/vamp-sdk/vamp-hostsdk/PluginHostAdapter.h
new file mode 100644
index 0000000..2ca1d69
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginHostAdapter.h
@@ -0,0 +1,123 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_HOST_ADAPTER_H_
+#define _VAMP_PLUGIN_HOST_ADAPTER_H_
+
+#include "hostguard.h"
+#include "Plugin.h"
+
+#include <vamp/vamp.h>
+
+#include <vector>
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginHostAdapter.h)
+
+namespace Vamp {
+
+/**
+ * \class PluginHostAdapter PluginHostAdapter.h <vamp-hostsdk/PluginHostAdapter.h>
+ *
+ * PluginHostAdapter is a wrapper class that a Vamp host can use to
+ * make the C-language VampPluginDescriptor object appear as a C++
+ * Vamp::Plugin object.
+ *
+ * The Vamp API is defined in vamp/vamp.h as a C API. The C++ objects
+ * used for convenience by plugins and hosts actually communicate
+ * using the C low-level API, but the details of this communication
+ * are handled seamlessly by the Vamp SDK implementation provided the
+ * plugin and host use the proper C++ wrapper objects.
+ *
+ * See also PluginAdapter, the plugin-side wrapper that makes a C++
+ * plugin object available using the C query API.
+ */
+
+class PluginHostAdapter : public Plugin
+{
+public:
+ PluginHostAdapter(const VampPluginDescriptor *descriptor,
+ float inputSampleRate);
+ virtual ~PluginHostAdapter();
+
+ static std::vector<std::string> getPluginPath();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+ void reset();
+
+ InputDomain getInputDomain() const;
+
+ unsigned int getVampApiVersion() const;
+ std::string getIdentifier() const;
+ std::string getName() const;
+ std::string getDescription() const;
+ std::string getMaker() const;
+ int getPluginVersion() const;
+ std::string getCopyright() const;
+
+ ParameterList getParameterDescriptors() const;
+ float getParameter(std::string) const;
+ void setParameter(std::string, float);
+
+ ProgramList getPrograms() const;
+ std::string getCurrentProgram() const;
+ void selectProgram(std::string);
+
+ size_t getPreferredStepSize() const;
+ size_t getPreferredBlockSize() const;
+
+ size_t getMinChannelCount() const;
+ size_t getMaxChannelCount() const;
+
+ OutputList getOutputDescriptors() const;
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ FeatureSet getRemainingFeatures();
+
+protected:
+ void convertFeatures(VampFeatureList *, FeatureSet &);
+
+ const VampPluginDescriptor *m_descriptor;
+ VampPluginHandle m_handle;
+};
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginHostAdapter.h)
+
+#endif
+
+
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginInputDomainAdapter.h b/libs/vamp-sdk/vamp-hostsdk/PluginInputDomainAdapter.h
new file mode 100644
index 0000000..7f7c11c
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginInputDomainAdapter.h
@@ -0,0 +1,136 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
+#define _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
+
+#include "hostguard.h"
+#include "PluginWrapper.h"
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginInputDomainAdapter.h)
+
+namespace Vamp {
+
+namespace HostExt {
+
+/**
+ * \class PluginInputDomainAdapter PluginInputDomainAdapter.h <vamp-hostsdk/PluginInputDomainAdapter.h>
+ *
+ * PluginInputDomainAdapter is a Vamp plugin adapter that converts
+ * time-domain input into frequency-domain input for plugins that need
+ * it. This permits a host to use time- and frequency-domain plugins
+ * interchangeably without needing to handle the conversion itself.
+ *
+ * This adapter uses a basic Hanning windowed FFT that supports
+ * power-of-two block sizes only. If a frequency domain plugin
+ * requests a non-power-of-two blocksize, the adapter will adjust it
+ * to a nearby power of two instead. Thus, getPreferredBlockSize()
+ * will always return a power of two if the wrapped plugin is a
+ * frequency domain one. If the plugin doesn't accept the adjusted
+ * power of two block size, initialise() will fail.
+ *
+ * The adapter provides no way for the host to discover whether the
+ * underlying plugin is actually a time or frequency domain plugin
+ * (except that if the preferred block size is not a power of two, it
+ * must be a time domain plugin).
+ *
+ * The FFT implementation is simple and self-contained, but unlikely
+ * to be the fastest available: a host can usually do better if it
+ * cares enough.
+ *
+ * In every respect other than its input domain handling, the
+ * PluginInputDomainAdapter behaves identically to the plugin that it
+ * wraps. The wrapped plugin will be deleted when the wrapper is
+ * deleted.
+ *
+ * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
+ */
+
+class PluginInputDomainAdapter : public PluginWrapper
+{
+public:
+ /**
+ * Construct a PluginInputDomainAdapter wrapping the given plugin.
+ * The adapter takes ownership of the plugin, which will be
+ * deleted when the adapter is deleted.
+ */
+ PluginInputDomainAdapter(Plugin *plugin);
+ virtual ~PluginInputDomainAdapter();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ InputDomain getInputDomain() const;
+
+ size_t getPreferredStepSize() const;
+ size_t getPreferredBlockSize() const;
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ /**
+ * Return the amount by which the timestamps supplied to process()
+ * are being incremented when they are passed to the plugin's own
+ * process() implementation.
+ *
+ * The Vamp API mandates that the timestamp passed to the plugin
+ * for time-domain input should be the time of the first sample in
+ * the block, but the timestamp passed for frequency-domain input
+ * should be the timestamp of the centre of the block.
+ *
+ * The PluginInputDomainAdapter adjusts its timestamps properly so
+ * that the plugin receives correct times, but in some
+ * circumstances (such as for establishing the correct timing of
+ * implicitly-timed features, i.e. features without their own
+ * timestamps) the host may need to be aware that this adjustment
+ * is taking place.
+ *
+ * If the plugin requires time-domain input, this function will
+ * return zero. The result of calling this function before
+ * initialise() has been called is undefined.
+ */
+ RealTime getTimestampAdjustment() const;
+
+protected:
+ class Impl;
+ Impl *m_impl;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginInputDomainAdapter.h)
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginLoader.h b/libs/vamp-sdk/vamp-hostsdk/PluginLoader.h
new file mode 100644
index 0000000..4d1daff
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginLoader.h
@@ -0,0 +1,243 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_LOADER_H_
+#define _VAMP_PLUGIN_LOADER_H_
+
+#include <vector>
+#include <string>
+#include <map>
+
+#include "hostguard.h"
+#include "PluginWrapper.h"
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h)
+
+namespace Vamp {
+
+class Plugin;
+
+namespace HostExt {
+
+/**
+ * \class PluginLoader PluginLoader.h <vamp-hostsdk/PluginLoader.h>
+ *
+ * Vamp::HostExt::PluginLoader is a convenience class for discovering
+ * and loading Vamp plugins using the typical plugin-path, library
+ * naming, and categorisation conventions described in the Vamp SDK
+ * documentation. This class is intended to greatly simplify the task
+ * of becoming a Vamp plugin host for any C++ application.
+ *
+ * Hosts are not required by the Vamp specification to use the same
+ * plugin search path and naming conventions as implemented by this
+ * class, and are certainly not required to use this actual class.
+ * But we do strongly recommend it.
+ *
+ * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
+ */
+
+class PluginLoader
+{
+public:
+ /**
+ * Obtain a pointer to the singleton instance of PluginLoader.
+ * Use this to obtain your loader object.
+ */
+ static PluginLoader *getInstance();
+
+ /**
+ * PluginKey is a string type that is used to identify a plugin
+ * uniquely within the scope of "the current system". It consists
+ * of the lower-cased base name of the plugin library, a colon
+ * separator, and the identifier string for the plugin. It is
+ * only meaningful in the context of a given plugin path (the one
+ * returned by PluginHostAdapter::getPluginPath()).
+ *
+ * Use composePluginKey() to construct a plugin key from a known
+ * plugin library name and identifier.
+ *
+ * Note: the fact that the library component of the key is
+ * lower-cased implies that library names are matched
+ * case-insensitively by the PluginLoader class, regardless of the
+ * case sensitivity of the underlying filesystem. (Plugin
+ * identifiers _are_ case sensitive, however.) Also, it is not
+ * possible to portably extract a working library name from a
+ * plugin key, as the result may fail on case-sensitive
+ * filesystems. Use getLibraryPathForPlugin() instead.
+ */
+ typedef std::string PluginKey;
+
+ /**
+ * PluginKeyList is a sequence of plugin keys, such as returned by
+ * listPlugins().
+ */
+ typedef std::vector<PluginKey> PluginKeyList;
+
+ /**
+ * PluginCategoryHierarchy is a sequence of general->specific
+ * category names, as may be associated with a single plugin.
+ * This sequence describes the location of a plugin within a
+ * category forest, containing the human-readable names of the
+ * plugin's category tree root, followed by each of the nodes down
+ * to the leaf containing the plugin.
+ *
+ * \see getPluginCategory()
+ */
+ typedef std::vector<std::string> PluginCategoryHierarchy;
+
+ /**
+ * Search for all available Vamp plugins, and return a list of
+ * them in the order in which they were found.
+ */
+ PluginKeyList listPlugins();
+
+ /**
+ * AdapterFlags contains a set of values that may be OR'd together
+ * to indicate in which circumstances PluginLoader should use a
+ * plugin adapter to make a plugin easier to use for a host that
+ * does not want to cater for complex features.
+ *
+ * The available flags are:
+ *
+ * ADAPT_INPUT_DOMAIN - If the plugin expects frequency domain
+ * input, wrap it in a PluginInputDomainAdapter that automatically
+ * converts the plugin to one that expects time-domain input.
+ * This enables a host to accommodate time- and frequency-domain
+ * plugins without needing to do any conversion itself.
+ *
+ * ADAPT_CHANNEL_COUNT - Wrap the plugin in a PluginChannelAdapter
+ * to handle any mismatch between the number of channels of audio
+ * the plugin can handle and the number available in the host.
+ * This enables a host to use plugins that may require the input
+ * to be mixed down to mono, etc., without having to worry about
+ * doing that itself.
+ *
+ * ADAPT_BUFFER_SIZE - Wrap the plugin in a PluginBufferingAdapter
+ * permitting the host to provide audio input using any block
+ * size, with no overlap, regardless of the plugin's preferred
+ * block size (suitable for hosts that read from non-seekable
+ * streaming media, for example). This adapter introduces some
+ * run-time overhead and also changes the semantics of the plugin
+ * slightly (see the PluginBufferingAdapter header documentation
+ * for details).
+ *
+ * ADAPT_ALL_SAFE - Perform all available adaptations that are
+ * meaningful for the plugin and "safe". Currently this means to
+ * ADAPT_INPUT_DOMAIN if the plugin wants FrequencyDomain input;
+ * ADAPT_CHANNEL_COUNT always; and ADAPT_BUFFER_SIZE never.
+ *
+ * ADAPT_ALL - Perform all available adaptations that are
+ * meaningful for the plugin.
+ *
+ * See PluginInputDomainAdapter, PluginChannelAdapter and
+ * PluginBufferingAdapter for more details of the classes that the
+ * loader may use if these flags are set.
+ */
+ enum AdapterFlags {
+
+ ADAPT_INPUT_DOMAIN = 0x01,
+ ADAPT_CHANNEL_COUNT = 0x02,
+ ADAPT_BUFFER_SIZE = 0x04,
+
+ ADAPT_ALL_SAFE = 0x03,
+
+ ADAPT_ALL = 0xff
+ };
+
+ /**
+ * Load a Vamp plugin, given its identifying key. If the plugin
+ * could not be loaded, returns 0.
+ *
+ * The returned plugin should be deleted (using the standard C++
+ * delete keyword) after use.
+ *
+ * \param adapterFlags a bitwise OR of the values in the AdapterFlags
+ * enumeration, indicating under which circumstances an adapter should be
+ * used to wrap the original plugin. If adapterFlags is 0, no
+ * optional adapters will be used. Otherwise, the returned plugin
+ * may be of an adapter class type which will behave identically
+ * to the original plugin, apart from any particular features
+ * implemented by the adapter itself.
+ *
+ * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter
+ */
+ Plugin *loadPlugin(PluginKey key,
+ float inputSampleRate,
+ int adapterFlags = 0);
+
+ /**
+ * Given a Vamp plugin library name and plugin identifier, return
+ * the corresponding plugin key in a form suitable for passing in to
+ * loadPlugin().
+ */
+ PluginKey composePluginKey(std::string libraryName,
+ std::string identifier);
+
+ /**
+ * Return the category hierarchy for a Vamp plugin, given its
+ * identifying key.
+ *
+ * If the plugin has no category information, return an empty
+ * hierarchy.
+ *
+ * \see PluginCategoryHierarchy
+ */
+ PluginCategoryHierarchy getPluginCategory(PluginKey plugin);
+
+ /**
+ * Return the file path of the dynamic library from which the
+ * given plugin will be loaded (if available).
+ */
+ std::string getLibraryPathForPlugin(PluginKey plugin);
+
+protected:
+ PluginLoader();
+ virtual ~PluginLoader();
+
+ class Impl;
+ Impl *m_impl;
+
+ static PluginLoader *m_instance;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginLoader.h)
+
+#endif
+
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginSummarisingAdapter.h b/libs/vamp-sdk/vamp-hostsdk/PluginSummarisingAdapter.h
new file mode 100644
index 0000000..e9c14f5
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginSummarisingAdapter.h
@@ -0,0 +1,197 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2008 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
+#define _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
+
+#include "hostguard.h"
+#include "PluginWrapper.h"
+
+#include <set>
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginSummarisingAdapter.h)
+
+namespace Vamp {
+
+namespace HostExt {
+
+/**
+ * \class PluginSummarisingAdapter PluginSummarisingAdapter.h <vamp-hostsdk/PluginSummarisingAdapter.h>
+ *
+ * PluginSummarisingAdapter is a Vamp plugin adapter that provides
+ * summarisation methods such as mean and median averages of output
+ * features, for use in any context where an available plugin produces
+ * individual values but the result that is actually needed is some
+ * sort of aggregate.
+ *
+ * To make use of PluginSummarisingAdapter, the host should configure,
+ * initialise and run the plugin through the adapter interface just as
+ * normal. Then, after the process and getRemainingFeatures methods
+ * have been properly called and processing is complete, the host may
+ * call getSummaryForOutput or getSummaryForAllOutputs to obtain
+ * summarised features: averages, maximum values, etc, depending on
+ * the SummaryType passed to the function.
+ *
+ * By default PluginSummarisingAdapter calculates a single summary of
+ * each output's feature across the whole duration of processed audio.
+ * A host needing summaries of sub-segments of the whole audio may
+ * call setSummarySegmentBoundaries before retrieving the summaries,
+ * providing a list of times such that one summary will be provided
+ * for each segment between two consecutive times.
+ *
+ * PluginSummarisingAdapter is straightforward rather than fast. It
+ * calculates all of the summary types for all outputs always, and
+ * then returns only the ones that are requested. It is designed on
+ * the basis that, for most features, summarising and storing
+ * summarised results is far cheaper than calculating the results in
+ * the first place. If this is not true for your particular feature,
+ * PluginSummarisingAdapter may not be the best approach for you.
+ *
+ * \note This class was introduced in version 2.0 of the Vamp plugin SDK.
+ */
+
+class PluginSummarisingAdapter : public PluginWrapper
+{
+public:
+ /**
+ * Construct a PluginSummarisingAdapter wrapping the given plugin.
+ * The adapter takes ownership of the plugin, which will be
+ * deleted when the adapter is deleted.
+ */
+ PluginSummarisingAdapter(Plugin *plugin);
+ virtual ~PluginSummarisingAdapter();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+
+ void reset();
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+ FeatureSet getRemainingFeatures();
+
+ typedef std::set<RealTime> SegmentBoundaries;
+
+ /**
+ * Specify a series of segment boundaries, such that one summary
+ * will be returned for each of the contiguous intra-boundary
+ * segments. This function must be called before
+ * getSummaryForOutput or getSummaryForAllOutputs.
+ *
+ * Note that you cannot retrieve results with multiple different
+ * segmentations by repeatedly calling this function followed by
+ * one of the getSummary functions. The summaries are all
+ * calculated at the first call to any getSummary function, and
+ * once the summaries have been calculated, they remain
+ * calculated.
+ */
+ void setSummarySegmentBoundaries(const SegmentBoundaries &);
+
+ enum SummaryType {
+ Minimum = 0,
+ Maximum = 1,
+ Mean = 2,
+ Median = 3,
+ Mode = 4,
+ Sum = 5,
+ Variance = 6,
+ StandardDeviation = 7,
+ Count = 8,
+
+ UnknownSummaryType = 999
+ };
+
+ /**
+ * AveragingMethod indicates how the adapter should handle
+ * average-based summaries of features whose results are not
+ * equally spaced in time.
+ *
+ * If SampleAverage is specified, summary types based on averages
+ * will be calculated by treating each result individually without
+ * regard to its time: for example, the mean will be the sum of
+ * all values divided by the number of values.
+ *
+ * If ContinuousTimeAverage is specified, each feature will be
+ * considered to have a duration, either as specified in the
+ * feature's duration field, or until the following feature: thus,
+ * for example, the mean will be the sum of the products of values
+ * and durations, divided by the total duration.
+ *
+ * Although SampleAverage is useful for many types of feature,
+ * ContinuousTimeAverage is essential for some situations, for
+ * example finding the result that spans the largest proportion of
+ * the input given a feature that emits a new result only when the
+ * value changes (the modal value integrated over time).
+ */
+ enum AveragingMethod {
+ SampleAverage = 0,
+ ContinuousTimeAverage = 1,
+ };
+
+ /**
+ * Return summaries of the features that were returned on the
+ * given output, using the given SummaryType and AveragingMethod.
+ *
+ * The plugin must have been fully run (process() and
+ * getRemainingFeatures() calls all made as appropriate) before
+ * this function is called.
+ */
+ FeatureList getSummaryForOutput(int output,
+ SummaryType type,
+ AveragingMethod method = SampleAverage);
+
+ /**
+ * Return summaries of the features that were returned on all of
+ * the plugin's outputs, using the given SummaryType and
+ * AveragingMethod.
+ *
+ * The plugin must have been fully run (process() and
+ * getRemainingFeatures() calls all made as appropriate) before
+ * this function is called.
+ */
+ FeatureSet getSummaryForAllOutputs(SummaryType type,
+ AveragingMethod method = SampleAverage);
+
+protected:
+ class Impl;
+ Impl *m_impl;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginSummarisingAdapter.h)
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/PluginWrapper.h b/libs/vamp-sdk/vamp-hostsdk/PluginWrapper.h
new file mode 100644
index 0000000..357050d
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/PluginWrapper.h
@@ -0,0 +1,135 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006-2007 Chris Cannam and QMUL.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_PLUGIN_WRAPPER_H_
+#define _VAMP_PLUGIN_WRAPPER_H_
+
+#include "hostguard.h"
+#include <vamp-hostsdk/Plugin.h>
+
+_VAMP_SDK_HOSTSPACE_BEGIN(PluginWrapper.h)
+
+namespace Vamp {
+
+namespace HostExt {
+
+/**
+ * \class PluginWrapper PluginWrapper.h <vamp-hostsdk/PluginWrapper.h>
+ *
+ * PluginWrapper is a simple base class for adapter plugins. It takes
+ * a pointer to a "to be wrapped" Vamp plugin on construction, and
+ * provides implementations of all the Vamp plugin methods that simply
+ * delegate through to the wrapped plugin. A subclass can therefore
+ * override only the methods that are meaningful for the particular
+ * adapter.
+ *
+ * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
+ */
+
+class PluginWrapper : public Plugin
+{
+public:
+ virtual ~PluginWrapper();
+
+ bool initialise(size_t channels, size_t stepSize, size_t blockSize);
+ void reset();
+
+ InputDomain getInputDomain() const;
+
+ unsigned int getVampApiVersion() const;
+ std::string getIdentifier() const;
+ std::string getName() const;
+ std::string getDescription() const;
+ std::string getMaker() const;
+ int getPluginVersion() const;
+ std::string getCopyright() const;
+
+ ParameterList getParameterDescriptors() const;
+ float getParameter(std::string) const;
+ void setParameter(std::string, float);
+
+ ProgramList getPrograms() const;
+ std::string getCurrentProgram() const;
+ void selectProgram(std::string);
+
+ size_t getPreferredStepSize() const;
+ size_t getPreferredBlockSize() const;
+
+ size_t getMinChannelCount() const;
+ size_t getMaxChannelCount() const;
+
+ OutputList getOutputDescriptors() const;
+
+ FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
+
+ FeatureSet getRemainingFeatures();
+
+ /**
+ * Return a pointer to the plugin wrapper of type WrapperType
+ * surrounding this wrapper's plugin, if present.
+ *
+ * This is useful in situations where a plugin is wrapped by
+ * multiple different wrappers (one inside another) and the host
+ * wants to call some wrapper-specific function on one of the
+ * layers without having to care about the order in which they are
+ * wrapped. For example, the plugin returned by
+ * PluginLoader::loadPlugin may have more than one wrapper; if the
+ * host wanted to query or fine-tune some property of one of them,
+ * it would be hard to do so without knowing the order of the
+ * wrappers. This function therefore gives direct access to the
+ * wrapper of a particular type.
+ */
+ template <typename WrapperType>
+ WrapperType *getWrapper() {
+ WrapperType *w = dynamic_cast<WrapperType *>(this);
+ if (w) return w;
+ PluginWrapper *pw = dynamic_cast<PluginWrapper *>(m_plugin);
+ if (pw) return pw->getWrapper<WrapperType>();
+ return 0;
+ }
+
+protected:
+ PluginWrapper(Plugin *plugin); // I take ownership of plugin
+ Plugin *m_plugin;
+};
+
+}
+
+}
+
+_VAMP_SDK_HOSTSPACE_END(PluginWrapper.h)
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/RealTime.h b/libs/vamp-sdk/vamp-hostsdk/RealTime.h
new file mode 100644
index 0000000..d789b6a
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/RealTime.h
@@ -0,0 +1,46 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_HOSTSDK_REALTIME_H_
+#define _VAMP_HOSTSDK_REALTIME_H_
+
+// Do not include vamp-sdk/RealTime.h directly from host code. Always
+// use this header instead.
+
+#include "hostguard.h"
+#include <vamp-sdk/RealTime.h>
+
+#endif
diff --git a/libs/vamp-sdk/vamp-hostsdk/hostguard.h b/libs/vamp-sdk/vamp-hostsdk/hostguard.h
new file mode 100644
index 0000000..3698d84
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/hostguard.h
@@ -0,0 +1,69 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_HOSTSDK_HOSTGUARD_H_
+#define _VAMP_HOSTSDK_HOSTGUARD_H_
+
+#ifdef _VAMP_IN_PLUGINSDK
+#error You have included headers from both vamp-sdk and vamp-hostsdk in the same source file. Please include only vamp-sdk headers in plugin code, and only vamp-hostsdk headers in host code.
+#else
+
+#define _VAMP_IN_HOSTSDK
+
+#ifdef _VAMP_NO_HOST_NAMESPACE
+#define _VAMP_SDK_HOSTSPACE_BEGIN(h)
+#define _VAMP_SDK_HOSTSPACE_END(h)
+#define _VAMP_SDK_PLUGSPACE_BEGIN(h)
+#define _VAMP_SDK_PLUGSPACE_END(h)
+#else
+#define _VAMP_SDK_HOSTSPACE_BEGIN(h) \
+ namespace _VampHost {
+
+#define _VAMP_SDK_HOSTSPACE_END(h) \
+ } \
+ using namespace _VampHost;
+#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \
+ namespace _VampHost {
+
+#define _VAMP_SDK_PLUGSPACE_END(h) \
+ } \
+ using namespace _VampHost;
+#endif
+
+#endif
+
+#endif
+
diff --git a/libs/vamp-sdk/vamp-hostsdk/vamp-hostsdk.h b/libs/vamp-sdk/vamp-hostsdk/vamp-hostsdk.h
new file mode 100644
index 0000000..f32583d
--- /dev/null
+++ b/libs/vamp-sdk/vamp-hostsdk/vamp-hostsdk.h
@@ -0,0 +1,53 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_HOSTSDK_SINGLE_INCLUDE_H_
+#define _VAMP_HOSTSDK_SINGLE_INCLUDE_H_
+
+#include "PluginBase.h"
+#include "PluginBufferingAdapter.h"
+#include "PluginChannelAdapter.h"
+#include "Plugin.h"
+#include "PluginHostAdapter.h"
+#include "PluginInputDomainAdapter.h"
+#include "PluginLoader.h"
+#include "PluginSummarisingAdapter.h"
+#include "PluginWrapper.h"
+#include "RealTime.h"
+
+#endif
+
+
diff --git a/libs/vamp-sdk/vamp-sdk/Plugin.h b/libs/vamp-sdk/vamp-sdk/Plugin.h
index 159bf4f..4709b19 100644
--- a/libs/vamp-sdk/vamp-sdk/Plugin.h
+++ b/libs/vamp-sdk/vamp-sdk/Plugin.h
@@ -34,16 +34,19 @@
authorization.
*/
-#ifndef _VAMP_PLUGIN_H_
-#define _VAMP_PLUGIN_H_
-
-#include "PluginBase.h"
-#include "RealTime.h"
+#ifndef _VAMP_SDK_PLUGIN_H_
+#define _VAMP_SDK_PLUGIN_H_
#include <string>
#include <vector>
#include <map>
+#include "PluginBase.h"
+#include "RealTime.h"
+
+#include "plugguard.h"
+_VAMP_SDK_PLUGSPACE_BEGIN(Plugin.h)
+
namespace Vamp {
/**
@@ -200,7 +203,7 @@ public:
/**
* The name of the output, in computer-usable form. Should be
* reasonably short and without whitespace or punctuation, using
- * the characters [a-zA-Z0-9_] only.
+ * the characters [a-zA-Z0-9_-] only.
* Example: "zero_crossing_count"
*/
std::string identifier;
@@ -304,6 +307,16 @@ public:
* this to zero if that behaviour is not desired.
*/
float sampleRate;
+
+ /**
+ * True if the returned results for this output are known to
+ * have a duration field.
+ */
+ bool hasDuration;
+
+ OutputDescriptor() : // defaults for mandatory non-class-type members
+ hasFixedBinCount(false), hasKnownExtents(false), isQuantized(false),
+ sampleType(OneSamplePerStep), hasDuration(false) { }
};
typedef std::vector<OutputDescriptor> OutputList;
@@ -319,17 +332,34 @@ public:
{
/**
* True if an output feature has its own timestamp. This is
- * mandatory if the output has VariableSampleRate, and is
- * likely to be disregarded otherwise.
+ * mandatory if the output has VariableSampleRate, optional if
+ * the output has FixedSampleRate, and unused if the output
+ * has OneSamplePerStep.
*/
bool hasTimestamp;
/**
* Timestamp of the output feature. This is mandatory if the
- * output has VariableSampleRate, and is likely to be
- * disregarded otherwise. Undefined if hasTimestamp is false.
+ * output has VariableSampleRate or if the output has
+ * FixedSampleRate and hasTimestamp is true, and unused
+ * otherwise.
*/
RealTime timestamp;
+
+ /**
+ * True if an output feature has a specified duration. This
+ * is optional if the output has VariableSampleRate or
+ * FixedSampleRate, and and unused if the output has
+ * OneSamplePerStep.
+ */
+ bool hasDuration;
+
+ /**
+ * Duration of the output feature. This is mandatory if the
+ * output has VariableSampleRate or FixedSampleRate and
+ * hasDuration is true, and unused otherwise.
+ */
+ RealTime duration;
/**
* Results for a single sample of this feature. If the output
@@ -342,9 +372,13 @@ public:
* Label for the sample of this feature.
*/
std::string label;
+
+ Feature() : // defaults for mandatory non-class-type members
+ hasTimestamp(false), hasDuration(false) { }
};
typedef std::vector<Feature> FeatureList;
+
typedef std::map<int, FeatureList> FeatureSet; // key is output no
/**
@@ -353,9 +387,9 @@ public:
* If the plugin's inputDomain is TimeDomain, inputBuffers will
* point to one array of floats per input channel, and each of
* these arrays will contain blockSize consecutive audio samples
- * (the host will zero-pad as necessary). The timestamp will be
- * the real time in seconds of the start of the supplied block of
- * samples.
+ * (the host will zero-pad as necessary). The timestamp in this
+ * case will be the real time in seconds of the start of the
+ * supplied block of samples.
*
* If the plugin's inputDomain is FrequencyDomain, inputBuffers
* will point to one array of floats per input channel, and each
@@ -399,6 +433,8 @@ protected:
}
+_VAMP_SDK_PLUGSPACE_END(Plugin.h)
+
#endif
diff --git a/libs/vamp-sdk/vamp-sdk/PluginAdapter.cpp b/libs/vamp-sdk/vamp-sdk/PluginAdapter.cpp
deleted file mode 100644
index ff02b87..0000000
--- a/libs/vamp-sdk/vamp-sdk/PluginAdapter.cpp
+++ /dev/null
@@ -1,856 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006 Chris Cannam.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include <cstring>
-#include <cstdlib>
-#include "PluginAdapter.h"
-
-#include <cstdlib>
-#include <cstring>
-
-//#define DEBUG_PLUGIN_ADAPTER 1
-
-
-namespace Vamp {
-
-class PluginAdapterBase::Impl
-{
-public:
- Impl(PluginAdapterBase *);
- ~Impl();
-
- const VampPluginDescriptor *getDescriptor();
-
-protected:
- PluginAdapterBase *m_base;
-
- static VampPluginHandle vampInstantiate(const VampPluginDescriptor *desc,
- float inputSampleRate);
-
- static void vampCleanup(VampPluginHandle handle);
-
- static int vampInitialise(VampPluginHandle handle, unsigned int channels,
- unsigned int stepSize, unsigned int blockSize);
-
- static void vampReset(VampPluginHandle handle);
-
- static float vampGetParameter(VampPluginHandle handle, int param);
- static void vampSetParameter(VampPluginHandle handle, int param, float value);
-
- static unsigned int vampGetCurrentProgram(VampPluginHandle handle);
- static void vampSelectProgram(VampPluginHandle handle, unsigned int program);
-
- static unsigned int vampGetPreferredStepSize(VampPluginHandle handle);
- static unsigned int vampGetPreferredBlockSize(VampPluginHandle handle);
- static unsigned int vampGetMinChannelCount(VampPluginHandle handle);
- static unsigned int vampGetMaxChannelCount(VampPluginHandle handle);
-
- static unsigned int vampGetOutputCount(VampPluginHandle handle);
-
- static VampOutputDescriptor *vampGetOutputDescriptor(VampPluginHandle handle,
- unsigned int i);
-
- static void vampReleaseOutputDescriptor(VampOutputDescriptor *desc);
-
- static VampFeatureList *vampProcess(VampPluginHandle handle,
- const float *const *inputBuffers,
- int sec,
- int nsec);
-
- static VampFeatureList *vampGetRemainingFeatures(VampPluginHandle handle);
-
- static void vampReleaseFeatureSet(VampFeatureList *fs);
-
- void cleanup(Plugin *plugin);
- void checkOutputMap(Plugin *plugin);
- unsigned int getOutputCount(Plugin *plugin);
- VampOutputDescriptor *getOutputDescriptor(Plugin *plugin,
- unsigned int i);
- VampFeatureList *process(Plugin *plugin,
- const float *const *inputBuffers,
- int sec, int nsec);
- VampFeatureList *getRemainingFeatures(Plugin *plugin);
- VampFeatureList *convertFeatures(Plugin *plugin,
- const Plugin::FeatureSet &features);
-
- // maps both plugins and descriptors to adapters
- typedef std::map<const void *, Impl *> AdapterMap;
- static AdapterMap *m_adapterMap;
- static Impl *lookupAdapter(VampPluginHandle);
-
- bool m_populated;
- VampPluginDescriptor m_descriptor;
- Plugin::ParameterList m_parameters;
- Plugin::ProgramList m_programs;
-
- typedef std::map<Plugin *, Plugin::OutputList *> OutputMap;
- OutputMap m_pluginOutputs;
-
- std::map<Plugin *, VampFeatureList *> m_fs;
- std::map<Plugin *, std::vector<size_t> > m_fsizes;
- std::map<Plugin *, std::vector<std::vector<size_t> > > m_fvsizes;
- void resizeFS(Plugin *plugin, int n);
- void resizeFL(Plugin *plugin, int n, size_t sz);
- void resizeFV(Plugin *plugin, int n, int j, size_t sz);
-};
-
-PluginAdapterBase::PluginAdapterBase()
-{
- m_impl = new Impl(this);
-}
-
-PluginAdapterBase::~PluginAdapterBase()
-{
- delete m_impl;
-}
-
-const VampPluginDescriptor *
-PluginAdapterBase::getDescriptor()
-{
- return m_impl->getDescriptor();
-}
-
-PluginAdapterBase::Impl::Impl(PluginAdapterBase *base) :
- m_base(base),
- m_populated(false)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl[" << this << "]::Impl" << std::endl;
-#endif
-}
-
-const VampPluginDescriptor *
-PluginAdapterBase::Impl::getDescriptor()
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl[" << this << "]::getDescriptor" << std::endl;
-#endif
-
- if (m_populated) return &m_descriptor;
-
- Plugin *plugin = m_base->createPlugin(48000);
-
- if (plugin->getVampApiVersion() != VAMP_API_VERSION) {
- std::cerr << "Vamp::PluginAdapterBase::Impl::getDescriptor: ERROR: "
- << "Plugin object API version "
- << plugin->getVampApiVersion()
- << " does not match actual API version "
- << VAMP_API_VERSION << std::endl;
- delete plugin;
- return 0;
- }
-
- m_parameters = plugin->getParameterDescriptors();
- m_programs = plugin->getPrograms();
-
- m_descriptor.vampApiVersion = plugin->getVampApiVersion();
- m_descriptor.identifier = strdup(plugin->getIdentifier().c_str());
- m_descriptor.name = strdup(plugin->getName().c_str());
- m_descriptor.description = strdup(plugin->getDescription().c_str());
- m_descriptor.maker = strdup(plugin->getMaker().c_str());
- m_descriptor.pluginVersion = plugin->getPluginVersion();
- m_descriptor.copyright = strdup(plugin->getCopyright().c_str());
-
- m_descriptor.parameterCount = m_parameters.size();
- m_descriptor.parameters = (const VampParameterDescriptor **)
- malloc(m_parameters.size() * sizeof(VampParameterDescriptor));
-
- unsigned int i;
-
- for (i = 0; i < m_parameters.size(); ++i) {
- VampParameterDescriptor *desc = (VampParameterDescriptor *)
- malloc(sizeof(VampParameterDescriptor));
- desc->identifier = strdup(m_parameters[i].identifier.c_str());
- desc->name = strdup(m_parameters[i].name.c_str());
- desc->description = strdup(m_parameters[i].description.c_str());
- desc->unit = strdup(m_parameters[i].unit.c_str());
- desc->minValue = m_parameters[i].minValue;
- desc->maxValue = m_parameters[i].maxValue;
- desc->defaultValue = m_parameters[i].defaultValue;
- desc->isQuantized = m_parameters[i].isQuantized;
- desc->quantizeStep = m_parameters[i].quantizeStep;
- desc->valueNames = 0;
- if (desc->isQuantized && !m_parameters[i].valueNames.empty()) {
- desc->valueNames = (const char **)
- malloc((m_parameters[i].valueNames.size()+1) * sizeof(char *));
- for (unsigned int j = 0; j < m_parameters[i].valueNames.size(); ++j) {
- desc->valueNames[j] = strdup(m_parameters[i].valueNames[j].c_str());
- }
- desc->valueNames[m_parameters[i].valueNames.size()] = 0;
- }
- m_descriptor.parameters[i] = desc;
- }
-
- m_descriptor.programCount = m_programs.size();
- m_descriptor.programs = (const char **)
- malloc(m_programs.size() * sizeof(const char *));
-
- for (i = 0; i < m_programs.size(); ++i) {
- m_descriptor.programs[i] = strdup(m_programs[i].c_str());
- }
-
- if (plugin->getInputDomain() == Plugin::FrequencyDomain) {
- m_descriptor.inputDomain = vampFrequencyDomain;
- } else {
- m_descriptor.inputDomain = vampTimeDomain;
- }
-
- m_descriptor.instantiate = vampInstantiate;
- m_descriptor.cleanup = vampCleanup;
- m_descriptor.initialise = vampInitialise;
- m_descriptor.reset = vampReset;
- m_descriptor.getParameter = vampGetParameter;
- m_descriptor.setParameter = vampSetParameter;
- m_descriptor.getCurrentProgram = vampGetCurrentProgram;
- m_descriptor.selectProgram = vampSelectProgram;
- m_descriptor.getPreferredStepSize = vampGetPreferredStepSize;
- m_descriptor.getPreferredBlockSize = vampGetPreferredBlockSize;
- m_descriptor.getMinChannelCount = vampGetMinChannelCount;
- m_descriptor.getMaxChannelCount = vampGetMaxChannelCount;
- m_descriptor.getOutputCount = vampGetOutputCount;
- m_descriptor.getOutputDescriptor = vampGetOutputDescriptor;
- m_descriptor.releaseOutputDescriptor = vampReleaseOutputDescriptor;
- m_descriptor.process = vampProcess;
- m_descriptor.getRemainingFeatures = vampGetRemainingFeatures;
- m_descriptor.releaseFeatureSet = vampReleaseFeatureSet;
-
- if (!m_adapterMap) {
- m_adapterMap = new AdapterMap;
- }
- (*m_adapterMap)[&m_descriptor] = this;
-
- delete plugin;
-
- m_populated = true;
- return &m_descriptor;
-}
-
-PluginAdapterBase::Impl::~Impl()
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl[" << this << "]::~Impl" << std::endl;
-#endif
-
- if (!m_populated) return;
-
- free((void *)m_descriptor.identifier);
- free((void *)m_descriptor.name);
- free((void *)m_descriptor.description);
- free((void *)m_descriptor.maker);
- free((void *)m_descriptor.copyright);
-
- for (unsigned int i = 0; i < m_descriptor.parameterCount; ++i) {
- const VampParameterDescriptor *desc = m_descriptor.parameters[i];
- free((void *)desc->identifier);
- free((void *)desc->name);
- free((void *)desc->description);
- free((void *)desc->unit);
- if (desc->valueNames) {
- for (unsigned int j = 0; desc->valueNames[j]; ++j) {
- free((void *)desc->valueNames[j]);
- }
- free((void *)desc->valueNames);
- }
- }
- free((void *)m_descriptor.parameters);
-
- for (unsigned int i = 0; i < m_descriptor.programCount; ++i) {
- free((void *)m_descriptor.programs[i]);
- }
- free((void *)m_descriptor.programs);
-
- if (m_adapterMap) {
-
- m_adapterMap->erase(&m_descriptor);
-
- if (m_adapterMap->empty()) {
- delete m_adapterMap;
- m_adapterMap = 0;
- }
- }
-}
-
-PluginAdapterBase::Impl *
-PluginAdapterBase::Impl::lookupAdapter(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::lookupAdapter(" << handle << ")" << std::endl;
-#endif
-
- if (!m_adapterMap) return 0;
- AdapterMap::const_iterator i = m_adapterMap->find(handle);
- if (i == m_adapterMap->end()) return 0;
- return i->second;
-}
-
-VampPluginHandle
-PluginAdapterBase::Impl::vampInstantiate(const VampPluginDescriptor *desc,
- float inputSampleRate)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampInstantiate(" << desc << ")" << std::endl;
-#endif
-
- if (!m_adapterMap) {
- m_adapterMap = new AdapterMap();
- }
-
- if (m_adapterMap->find(desc) == m_adapterMap->end()) {
- std::cerr << "WARNING: PluginAdapterBase::Impl::vampInstantiate: Descriptor " << desc << " not in adapter map" << std::endl;
- return 0;
- }
-
- Impl *adapter = (*m_adapterMap)[desc];
- if (desc != &adapter->m_descriptor) return 0;
-
- Plugin *plugin = adapter->m_base->createPlugin(inputSampleRate);
- if (plugin) {
- (*m_adapterMap)[plugin] = adapter;
- }
-
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampInstantiate(" << desc << "): returning handle " << plugin << std::endl;
-#endif
-
- return plugin;
-}
-
-void
-PluginAdapterBase::Impl::vampCleanup(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampCleanup(" << handle << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) {
- delete ((Plugin *)handle);
- return;
- }
- adapter->cleanup(((Plugin *)handle));
-}
-
-int
-PluginAdapterBase::Impl::vampInitialise(VampPluginHandle handle,
- unsigned int channels,
- unsigned int stepSize,
- unsigned int blockSize)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampInitialise(" << handle << ", " << channels << ", " << stepSize << ", " << blockSize << ")" << std::endl;
-#endif
-
- bool result = ((Plugin *)handle)->initialise
- (channels, stepSize, blockSize);
- return result ? 1 : 0;
-}
-
-void
-PluginAdapterBase::Impl::vampReset(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampReset(" << handle << ")" << std::endl;
-#endif
-
- ((Plugin *)handle)->reset();
-}
-
-float
-PluginAdapterBase::Impl::vampGetParameter(VampPluginHandle handle,
- int param)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetParameter(" << handle << ", " << param << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return 0.0;
- Plugin::ParameterList &list = adapter->m_parameters;
- return ((Plugin *)handle)->getParameter(list[param].identifier);
-}
-
-void
-PluginAdapterBase::Impl::vampSetParameter(VampPluginHandle handle,
- int param, float value)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampSetParameter(" << handle << ", " << param << ", " << value << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return;
- Plugin::ParameterList &list = adapter->m_parameters;
- ((Plugin *)handle)->setParameter(list[param].identifier, value);
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetCurrentProgram(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetCurrentProgram(" << handle << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return 0;
- Plugin::ProgramList &list = adapter->m_programs;
- std::string program = ((Plugin *)handle)->getCurrentProgram();
- for (unsigned int i = 0; i < list.size(); ++i) {
- if (list[i] == program) return i;
- }
- return 0;
-}
-
-void
-PluginAdapterBase::Impl::vampSelectProgram(VampPluginHandle handle,
- unsigned int program)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampSelectProgram(" << handle << ", " << program << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return;
- Plugin::ProgramList &list = adapter->m_programs;
- ((Plugin *)handle)->selectProgram(list[program]);
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetPreferredStepSize(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetPreferredStepSize(" << handle << ")" << std::endl;
-#endif
-
- return ((Plugin *)handle)->getPreferredStepSize();
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetPreferredBlockSize(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetPreferredBlockSize(" << handle << ")" << std::endl;
-#endif
-
- return ((Plugin *)handle)->getPreferredBlockSize();
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetMinChannelCount(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetMinChannelCount(" << handle << ")" << std::endl;
-#endif
-
- return ((Plugin *)handle)->getMinChannelCount();
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetMaxChannelCount(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetMaxChannelCount(" << handle << ")" << std::endl;
-#endif
-
- return ((Plugin *)handle)->getMaxChannelCount();
-}
-
-unsigned int
-PluginAdapterBase::Impl::vampGetOutputCount(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetOutputCount(" << handle << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
-
-// std::cerr << "vampGetOutputCount: handle " << handle << " -> adapter "<< adapter << std::endl;
-
- if (!adapter) return 0;
- return adapter->getOutputCount((Plugin *)handle);
-}
-
-VampOutputDescriptor *
-PluginAdapterBase::Impl::vampGetOutputDescriptor(VampPluginHandle handle,
- unsigned int i)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetOutputDescriptor(" << handle << ", " << i << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
-
-// std::cerr << "vampGetOutputDescriptor: handle " << handle << " -> adapter "<< adapter << std::endl;
-
- if (!adapter) return 0;
- return adapter->getOutputDescriptor((Plugin *)handle, i);
-}
-
-void
-PluginAdapterBase::Impl::vampReleaseOutputDescriptor(VampOutputDescriptor *desc)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampReleaseOutputDescriptor(" << desc << ")" << std::endl;
-#endif
-
- if (desc->identifier) free((void *)desc->identifier);
- if (desc->name) free((void *)desc->name);
- if (desc->description) free((void *)desc->description);
- if (desc->unit) free((void *)desc->unit);
- if (desc->hasFixedBinCount && desc->binNames) {
- for (unsigned int i = 0; i < desc->binCount; ++i) {
- if (desc->binNames[i]) {
- free((void *)desc->binNames[i]);
- }
- }
- }
- if (desc->binNames) free((void *)desc->binNames);
- free((void *)desc);
-}
-
-VampFeatureList *
-PluginAdapterBase::Impl::vampProcess(VampPluginHandle handle,
- const float *const *inputBuffers,
- int sec,
- int nsec)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampProcess(" << handle << ", " << sec << ", " << nsec << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return 0;
- return adapter->process((Plugin *)handle,
- inputBuffers, sec, nsec);
-}
-
-VampFeatureList *
-PluginAdapterBase::Impl::vampGetRemainingFeatures(VampPluginHandle handle)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampGetRemainingFeatures(" << handle << ")" << std::endl;
-#endif
-
- Impl *adapter = lookupAdapter(handle);
- if (!adapter) return 0;
- return adapter->getRemainingFeatures((Plugin *)handle);
-}
-
-void
-PluginAdapterBase::Impl::vampReleaseFeatureSet(VampFeatureList *fs)
-{
-#ifdef DEBUG_PLUGIN_ADAPTER
- std::cerr << "PluginAdapterBase::Impl::vampReleaseFeatureSet" << std::endl;
-#endif
-}
-
-void
-PluginAdapterBase::Impl::cleanup(Plugin *plugin)
-{
- if (m_fs.find(plugin) != m_fs.end()) {
- size_t outputCount = 0;
- if (m_pluginOutputs[plugin]) {
- outputCount = m_pluginOutputs[plugin]->size();
- }
- VampFeatureList *list = m_fs[plugin];
- for (unsigned int i = 0; i < outputCount; ++i) {
- for (unsigned int j = 0; j < m_fsizes[plugin][i]; ++j) {
- if (list[i].features[j].label) {
- free(list[i].features[j].label);
- }
- if (list[i].features[j].values) {
- free(list[i].features[j].values);
- }
- }
- if (list[i].features) free(list[i].features);
- }
- m_fs.erase(plugin);
- m_fsizes.erase(plugin);
- m_fvsizes.erase(plugin);
- }
-
- if (m_pluginOutputs.find(plugin) != m_pluginOutputs.end()) {
- delete m_pluginOutputs[plugin];
- m_pluginOutputs.erase(plugin);
- }
-
- if (m_adapterMap) {
- m_adapterMap->erase(plugin);
-
- if (m_adapterMap->empty()) {
- delete m_adapterMap;
- m_adapterMap = 0;
- }
- }
-
- delete ((Plugin *)plugin);
-}
-
-void
-PluginAdapterBase::Impl::checkOutputMap(Plugin *plugin)
-{
- if (m_pluginOutputs.find(plugin) == m_pluginOutputs.end() ||
- !m_pluginOutputs[plugin]) {
- m_pluginOutputs[plugin] = new Plugin::OutputList
- (plugin->getOutputDescriptors());
-// std::cerr << "PluginAdapterBase::Impl::checkOutputMap: Have " << m_pluginOutputs[plugin]->size() << " outputs for plugin " << plugin->getIdentifier() << std::endl;
- }
-}
-
-unsigned int
-PluginAdapterBase::Impl::getOutputCount(Plugin *plugin)
-{
- checkOutputMap(plugin);
- return m_pluginOutputs[plugin]->size();
-}
-
-VampOutputDescriptor *
-PluginAdapterBase::Impl::getOutputDescriptor(Plugin *plugin,
- unsigned int i)
-{
- checkOutputMap(plugin);
- Plugin::OutputDescriptor &od =
- (*m_pluginOutputs[plugin])[i];
-
- VampOutputDescriptor *desc = (VampOutputDescriptor *)
- malloc(sizeof(VampOutputDescriptor));
-
- desc->identifier = strdup(od.identifier.c_str());
- desc->name = strdup(od.name.c_str());
- desc->description = strdup(od.description.c_str());
- desc->unit = strdup(od.unit.c_str());
- desc->hasFixedBinCount = od.hasFixedBinCount;
- desc->binCount = od.binCount;
-
- if (od.hasFixedBinCount && od.binCount > 0) {
- desc->binNames = (const char **)
- malloc(od.binCount * sizeof(const char *));
-
- for (unsigned int i = 0; i < od.binCount; ++i) {
- if (i < od.binNames.size()) {
- desc->binNames[i] = strdup(od.binNames[i].c_str());
- } else {
- desc->binNames[i] = 0;
- }
- }
- } else {
- desc->binNames = 0;
- }
-
- desc->hasKnownExtents = od.hasKnownExtents;
- desc->minValue = od.minValue;
- desc->maxValue = od.maxValue;
- desc->isQuantized = od.isQuantized;
- desc->quantizeStep = od.quantizeStep;
-
- switch (od.sampleType) {
- case Plugin::OutputDescriptor::OneSamplePerStep:
- desc->sampleType = vampOneSamplePerStep; break;
- case Plugin::OutputDescriptor::FixedSampleRate:
- desc->sampleType = vampFixedSampleRate; break;
- case Plugin::OutputDescriptor::VariableSampleRate:
- desc->sampleType = vampVariableSampleRate; break;
- }
-
- desc->sampleRate = od.sampleRate;
-
- return desc;
-}
-
-VampFeatureList *
-PluginAdapterBase::Impl::process(Plugin *plugin,
- const float *const *inputBuffers,
- int sec, int nsec)
-{
-// std::cerr << "PluginAdapterBase::Impl::process" << std::endl;
- RealTime rt(sec, nsec);
- checkOutputMap(plugin);
- return convertFeatures(plugin, plugin->process(inputBuffers, rt));
-}
-
-VampFeatureList *
-PluginAdapterBase::Impl::getRemainingFeatures(Plugin *plugin)
-{
-// std::cerr << "PluginAdapterBase::Impl::getRemainingFeatures" << std::endl;
- checkOutputMap(plugin);
- return convertFeatures(plugin, plugin->getRemainingFeatures());
-}
-
-VampFeatureList *
-PluginAdapterBase::Impl::convertFeatures(Plugin *plugin,
- const Plugin::FeatureSet &features)
-{
- int lastN = -1;
-
- int outputCount = 0;
- if (m_pluginOutputs[plugin]) outputCount = m_pluginOutputs[plugin]->size();
-
- resizeFS(plugin, outputCount);
- VampFeatureList *fs = m_fs[plugin];
-
- for (Plugin::FeatureSet::const_iterator fi = features.begin();
- fi != features.end(); ++fi) {
-
- int n = fi->first;
-
-// std::cerr << "PluginAdapterBase::Impl::convertFeatures: n = " << n << std::endl;
-
- if (n >= int(outputCount)) {
- std::cerr << "WARNING: PluginAdapterBase::Impl::convertFeatures: Too many outputs from plugin (" << n+1 << ", only should be " << outputCount << ")" << std::endl;
- continue;
- }
-
- if (n > lastN + 1) {
- for (int i = lastN + 1; i < n; ++i) {
- fs[i].featureCount = 0;
- }
- }
-
- const Plugin::FeatureList &fl = fi->second;
-
- size_t sz = fl.size();
- if (sz > m_fsizes[plugin][n]) resizeFL(plugin, n, sz);
- fs[n].featureCount = sz;
-
- for (size_t j = 0; j < sz; ++j) {
-
-// std::cerr << "PluginAdapterBase::Impl::convertFeatures: j = " << j << std::endl;
-
- VampFeature *feature = &fs[n].features[j];
-
- feature->hasTimestamp = fl[j].hasTimestamp;
- feature->sec = fl[j].timestamp.sec;
- feature->nsec = fl[j].timestamp.nsec;
- feature->valueCount = fl[j].values.size();
-
- if (feature->label) free(feature->label);
-
- if (fl[j].label.empty()) {
- feature->label = 0;
- } else {
- feature->label = strdup(fl[j].label.c_str());
- }
-
- if (feature->valueCount > m_fvsizes[plugin][n][j]) {
- resizeFV(plugin, n, j, feature->valueCount);
- }
-
- for (unsigned int k = 0; k < feature->valueCount; ++k) {
-// std::cerr << "PluginAdapterBase::Impl::convertFeatures: k = " << k << std::endl;
- feature->values[k] = fl[j].values[k];
- }
- }
-
- lastN = n;
- }
-
- if (lastN == -1) return 0;
-
- if (int(outputCount) > lastN + 1) {
- for (int i = lastN + 1; i < int(outputCount); ++i) {
- fs[i].featureCount = 0;
- }
- }
-
- return fs;
-}
-
-void
-PluginAdapterBase::Impl::resizeFS(Plugin *plugin, int n)
-{
-// std::cerr << "PluginAdapterBase::Impl::resizeFS(" << plugin << ", " << n << ")" << std::endl;
-
- int i = m_fsizes[plugin].size();
- if (i >= n) return;
-
-// std::cerr << "resizing from " << i << std::endl;
-
- m_fs[plugin] = (VampFeatureList *)realloc
- (m_fs[plugin], n * sizeof(VampFeatureList));
-
- while (i < n) {
- m_fs[plugin][i].featureCount = 0;
- m_fs[plugin][i].features = 0;
- m_fsizes[plugin].push_back(0);
- m_fvsizes[plugin].push_back(std::vector<size_t>());
- i++;
- }
-}
-
-void
-PluginAdapterBase::Impl::resizeFL(Plugin *plugin, int n, size_t sz)
-{
-// std::cerr << "PluginAdapterBase::Impl::resizeFL(" << plugin << ", " << n << ", "
-// << sz << ")" << std::endl;
-
- size_t i = m_fsizes[plugin][n];
- if (i >= sz) return;
-
-// std::cerr << "resizing from " << i << std::endl;
-
- m_fs[plugin][n].features = (VampFeature *)realloc
- (m_fs[plugin][n].features, sz * sizeof(VampFeature));
-
- while (m_fsizes[plugin][n] < sz) {
- m_fs[plugin][n].features[m_fsizes[plugin][n]].valueCount = 0;
- m_fs[plugin][n].features[m_fsizes[plugin][n]].values = 0;
- m_fs[plugin][n].features[m_fsizes[plugin][n]].label = 0;
- m_fvsizes[plugin][n].push_back(0);
- m_fsizes[plugin][n]++;
- }
-}
-
-void
-PluginAdapterBase::Impl::resizeFV(Plugin *plugin, int n, int j, size_t sz)
-{
-// std::cerr << "PluginAdapterBase::Impl::resizeFV(" << plugin << ", " << n << ", "
-// << j << ", " << sz << ")" << std::endl;
-
- size_t i = m_fvsizes[plugin][n][j];
- if (i >= sz) return;
-
-// std::cerr << "resizing from " << i << std::endl;
-
- m_fs[plugin][n].features[j].values = (float *)realloc
- (m_fs[plugin][n].features[j].values, sz * sizeof(float));
-
- m_fvsizes[plugin][n][j] = sz;
-}
-
-PluginAdapterBase::Impl::AdapterMap *
-PluginAdapterBase::Impl::m_adapterMap = 0;
-
-}
-
diff --git a/libs/vamp-sdk/vamp-sdk/PluginAdapter.h b/libs/vamp-sdk/vamp-sdk/PluginAdapter.h
index bfc9750..dafd532 100644
--- a/libs/vamp-sdk/vamp-sdk/PluginAdapter.h
+++ b/libs/vamp-sdk/vamp-sdk/PluginAdapter.h
@@ -37,11 +37,13 @@
#ifndef _VAMP_PLUGIN_ADAPTER_H_
#define _VAMP_PLUGIN_ADAPTER_H_
+#include <map>
#include <vamp/vamp.h>
#include "Plugin.h"
-#include <map>
+#include "plugguard.h"
+_VAMP_SDK_PLUGSPACE_BEGIN(PluginAdapter.h)
namespace Vamp {
@@ -113,5 +115,7 @@ protected:
}
+_VAMP_SDK_PLUGSPACE_END(PluginAdapter.h)
+
#endif
diff --git a/libs/vamp-sdk/vamp-sdk/PluginBase.h b/libs/vamp-sdk/vamp-sdk/PluginBase.h
index 38d2b49..147ffdc 100644
--- a/libs/vamp-sdk/vamp-sdk/PluginBase.h
+++ b/libs/vamp-sdk/vamp-sdk/PluginBase.h
@@ -34,13 +34,18 @@
authorization.
*/
-#ifndef _VAMP_PLUGIN_BASE_H_
-#define _VAMP_PLUGIN_BASE_H_
+#ifndef _VAMP_SDK_PLUGIN_BASE_H_
+#define _VAMP_SDK_PLUGIN_BASE_H_
#include <string>
#include <vector>
-#define VAMP_SDK_VERSION "1.1"
+#define VAMP_SDK_VERSION "2.0"
+#define VAMP_SDK_MAJOR_VERSION 2
+#define VAMP_SDK_MINOR_VERSION 0
+
+#include "plugguard.h"
+_VAMP_SDK_PLUGSPACE_BEGIN(PluginBase.h)
namespace Vamp {
@@ -64,12 +69,12 @@ public:
/**
* Get the Vamp API compatibility level of the plugin.
*/
- virtual unsigned int getVampApiVersion() const { return 1; }
+ virtual unsigned int getVampApiVersion() const { return 2; }
/**
* Get the computer-usable name of the plugin. This should be
* reasonably short and contain no whitespace or punctuation
- * characters. It may only contain the characters [a-zA-Z0-9_].
+ * characters. It may only contain the characters [a-zA-Z0-9_-].
* This is the authoritative way for a program to identify a
* plugin within a given library.
*
@@ -127,7 +132,7 @@ public:
/**
* The name of the parameter, in computer-usable form. Should
* be reasonably short, and may only contain the characters
- * [a-zA-Z0-9_].
+ * [a-zA-Z0-9_-].
*/
std::string identifier;
@@ -190,6 +195,9 @@ public:
* encoded in the names.
*/
std::vector<std::string> valueNames;
+
+ ParameterDescriptor() : // the defaults are invalid: you must set them
+ minValue(0), maxValue(0), defaultValue(0), isQuantized(false) { }
};
typedef std::vector<ParameterDescriptor> ParameterList;
@@ -249,4 +257,6 @@ public:
}
+_VAMP_SDK_PLUGSPACE_END(PluginBase.h)
+
#endif
diff --git a/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.cpp b/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.cpp
deleted file mode 100644
index 4729a62..0000000
--- a/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.cpp
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006 Chris Cannam.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include <cstdlib>
-#include "PluginHostAdapter.h"
-
-#include <cstdlib>
-
-namespace Vamp
-{
-
-PluginHostAdapter::PluginHostAdapter(const VampPluginDescriptor *descriptor,
- float inputSampleRate) :
- Plugin(inputSampleRate),
- m_descriptor(descriptor)
-{
-// std::cerr << "PluginHostAdapter::PluginHostAdapter (plugin = " << descriptor->name << ")" << std::endl;
- m_handle = m_descriptor->instantiate(m_descriptor, inputSampleRate);
- if (!m_handle) {
-// std::cerr << "WARNING: PluginHostAdapter: Plugin instantiation failed for plugin " << m_descriptor->name << std::endl;
- }
-}
-
-PluginHostAdapter::~PluginHostAdapter()
-{
-// std::cerr << "PluginHostAdapter::~PluginHostAdapter (plugin = " << m_descriptor->name << ")" << std::endl;
- if (m_handle) m_descriptor->cleanup(m_handle);
-}
-
-std::vector<std::string>
-PluginHostAdapter::getPluginPath()
-{
- std::vector<std::string> path;
- std::string envPath;
-
- char *cpath = getenv("VAMP_PATH");
- if (cpath) envPath = cpath;
-
-#ifdef _WIN32
-#define PATH_SEPARATOR ';'
-#define DEFAULT_VAMP_PATH "%ProgramFiles%\\Vamp Plugins"
-#else
-#define PATH_SEPARATOR ':'
-#ifdef __APPLE__
-#define DEFAULT_VAMP_PATH "$HOME/Library/Audio/Plug-Ins/Vamp:/Library/Audio/Plug-Ins/Vamp"
-#else
-#define DEFAULT_VAMP_PATH "$HOME/vamp:$HOME/.vamp:/usr/local/lib/vamp:/usr/lib/vamp"
-#endif
-#endif
-
- if (envPath == "") {
- envPath = DEFAULT_VAMP_PATH;
- char *chome = getenv("HOME");
- if (chome) {
- std::string home(chome);
- std::string::size_type f;
- while ((f = envPath.find("$HOME")) != std::string::npos &&
- f < envPath.length()) {
- envPath.replace(f, 5, home);
- }
- }
-#ifdef _WIN32
- char *cpfiles = getenv("ProgramFiles");
- if (!cpfiles) cpfiles = "C:\\Program Files";
- std::string pfiles(cpfiles);
- std::string::size_type f;
- while ((f = envPath.find("%ProgramFiles%")) != std::string::npos &&
- f < envPath.length()) {
- envPath.replace(f, 14, pfiles);
- }
-#endif
- }
-
- std::string::size_type index = 0, newindex = 0;
-
- while ((newindex = envPath.find(PATH_SEPARATOR, index)) < envPath.size()) {
- path.push_back(envPath.substr(index, newindex - index));
- index = newindex + 1;
- }
-
- path.push_back(envPath.substr(index));
-
- return path;
-}
-
-bool
-PluginHostAdapter::initialise(size_t channels,
- size_t stepSize,
- size_t blockSize)
-{
- if (!m_handle) return false;
- return m_descriptor->initialise(m_handle, channels, stepSize, blockSize) ?
- true : false;
-}
-
-void
-PluginHostAdapter::reset()
-{
- if (!m_handle) return;
- m_descriptor->reset(m_handle);
-}
-
-PluginHostAdapter::InputDomain
-PluginHostAdapter::getInputDomain() const
-{
- if (m_descriptor->inputDomain == vampFrequencyDomain) {
- return FrequencyDomain;
- } else {
- return TimeDomain;
- }
-}
-
-unsigned int
-PluginHostAdapter::getVampApiVersion() const
-{
- return m_descriptor->vampApiVersion;
-}
-
-std::string
-PluginHostAdapter::getIdentifier() const
-{
- return m_descriptor->identifier;
-}
-
-std::string
-PluginHostAdapter::getName() const
-{
- return m_descriptor->name;
-}
-
-std::string
-PluginHostAdapter::getDescription() const
-{
- return m_descriptor->description;
-}
-
-std::string
-PluginHostAdapter::getMaker() const
-{
- return m_descriptor->maker;
-}
-
-int
-PluginHostAdapter::getPluginVersion() const
-{
- return m_descriptor->pluginVersion;
-}
-
-std::string
-PluginHostAdapter::getCopyright() const
-{
- return m_descriptor->copyright;
-}
-
-PluginHostAdapter::ParameterList
-PluginHostAdapter::getParameterDescriptors() const
-{
- ParameterList list;
- for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
- const VampParameterDescriptor *spd = m_descriptor->parameters[i];
- ParameterDescriptor pd;
- pd.identifier = spd->identifier;
- pd.name = spd->name;
- pd.description = spd->description;
- pd.unit = spd->unit;
- pd.minValue = spd->minValue;
- pd.maxValue = spd->maxValue;
- pd.defaultValue = spd->defaultValue;
- pd.isQuantized = spd->isQuantized;
- pd.quantizeStep = spd->quantizeStep;
- if (pd.isQuantized && spd->valueNames) {
- for (unsigned int j = 0; spd->valueNames[j]; ++j) {
- pd.valueNames.push_back(spd->valueNames[j]);
- }
- }
- list.push_back(pd);
- }
- return list;
-}
-
-float
-PluginHostAdapter::getParameter(std::string param) const
-{
- if (!m_handle) return 0.0;
-
- for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
- if (param == m_descriptor->parameters[i]->identifier) {
- return m_descriptor->getParameter(m_handle, i);
- }
- }
-
- return 0.0;
-}
-
-void
-PluginHostAdapter::setParameter(std::string param,
- float value)
-{
- if (!m_handle) return;
-
- for (unsigned int i = 0; i < m_descriptor->parameterCount; ++i) {
- if (param == m_descriptor->parameters[i]->identifier) {
- m_descriptor->setParameter(m_handle, i, value);
- return;
- }
- }
-}
-
-PluginHostAdapter::ProgramList
-PluginHostAdapter::getPrograms() const
-{
- ProgramList list;
-
- for (unsigned int i = 0; i < m_descriptor->programCount; ++i) {
- list.push_back(m_descriptor->programs[i]);
- }
-
- return list;
-}
-
-std::string
-PluginHostAdapter::getCurrentProgram() const
-{
- if (!m_handle) return "";
-
- int pn = m_descriptor->getCurrentProgram(m_handle);
- return m_descriptor->programs[pn];
-}
-
-void
-PluginHostAdapter::selectProgram(std::string program)
-{
- if (!m_handle) return;
-
- for (unsigned int i = 0; i < m_descriptor->programCount; ++i) {
- if (program == m_descriptor->programs[i]) {
- m_descriptor->selectProgram(m_handle, i);
- return;
- }
- }
-}
-
-size_t
-PluginHostAdapter::getPreferredStepSize() const
-{
- if (!m_handle) return 0;
- return m_descriptor->getPreferredStepSize(m_handle);
-}
-
-size_t
-PluginHostAdapter::getPreferredBlockSize() const
-{
- if (!m_handle) return 0;
- return m_descriptor->getPreferredBlockSize(m_handle);
-}
-
-size_t
-PluginHostAdapter::getMinChannelCount() const
-{
- if (!m_handle) return 0;
- return m_descriptor->getMinChannelCount(m_handle);
-}
-
-size_t
-PluginHostAdapter::getMaxChannelCount() const
-{
- if (!m_handle) return 0;
- return m_descriptor->getMaxChannelCount(m_handle);
-}
-
-PluginHostAdapter::OutputList
-PluginHostAdapter::getOutputDescriptors() const
-{
- OutputList list;
- if (!m_handle) {
-// std::cerr << "PluginHostAdapter::getOutputDescriptors: no handle " << std::endl;
- return list;
- }
-
- unsigned int count = m_descriptor->getOutputCount(m_handle);
-
- for (unsigned int i = 0; i < count; ++i) {
- VampOutputDescriptor *sd = m_descriptor->getOutputDescriptor(m_handle, i);
- OutputDescriptor d;
- d.identifier = sd->identifier;
- d.name = sd->name;
- d.description = sd->description;
- d.unit = sd->unit;
- d.hasFixedBinCount = sd->hasFixedBinCount;
- d.binCount = sd->binCount;
- if (d.hasFixedBinCount) {
- for (unsigned int j = 0; j < sd->binCount; ++j) {
- d.binNames.push_back(sd->binNames[j] ? sd->binNames[j] : "");
- }
- }
- d.hasKnownExtents = sd->hasKnownExtents;
- d.minValue = sd->minValue;
- d.maxValue = sd->maxValue;
- d.isQuantized = sd->isQuantized;
- d.quantizeStep = sd->quantizeStep;
-
- switch (sd->sampleType) {
- case vampOneSamplePerStep:
- d.sampleType = OutputDescriptor::OneSamplePerStep; break;
- case vampFixedSampleRate:
- d.sampleType = OutputDescriptor::FixedSampleRate; break;
- case vampVariableSampleRate:
- d.sampleType = OutputDescriptor::VariableSampleRate; break;
- }
-
- d.sampleRate = sd->sampleRate;
-
- list.push_back(d);
-
- m_descriptor->releaseOutputDescriptor(sd);
- }
-
- return list;
-}
-
-PluginHostAdapter::FeatureSet
-PluginHostAdapter::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
- FeatureSet fs;
- if (!m_handle) return fs;
-
- int sec = timestamp.sec;
- int nsec = timestamp.nsec;
-
- VampFeatureList *features = m_descriptor->process(m_handle,
- inputBuffers,
- sec, nsec);
-
- convertFeatures(features, fs);
- m_descriptor->releaseFeatureSet(features);
- return fs;
-}
-
-PluginHostAdapter::FeatureSet
-PluginHostAdapter::getRemainingFeatures()
-{
- FeatureSet fs;
- if (!m_handle) return fs;
-
- VampFeatureList *features = m_descriptor->getRemainingFeatures(m_handle);
-
- convertFeatures(features, fs);
- m_descriptor->releaseFeatureSet(features);
- return fs;
-}
-
-void
-PluginHostAdapter::convertFeatures(VampFeatureList *features,
- FeatureSet &fs)
-{
- if (!features) return;
-
- unsigned int outputs = m_descriptor->getOutputCount(m_handle);
-
- for (unsigned int i = 0; i < outputs; ++i) {
-
- VampFeatureList &list = features[i];
-
- if (list.featureCount > 0) {
-
- for (unsigned int j = 0; j < list.featureCount; ++j) {
-
- Feature feature;
- feature.hasTimestamp = list.features[j].hasTimestamp;
- feature.timestamp = RealTime(list.features[j].sec,
- list.features[j].nsec);
-
- for (unsigned int k = 0; k < list.features[j].valueCount; ++k) {
- feature.values.push_back(list.features[j].values[k]);
- }
-
- if (list.features[j].label) {
- feature.label = list.features[j].label;
- }
-
- fs[i].push_back(feature);
- }
- }
- }
-}
-
-}
diff --git a/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.h b/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.h
deleted file mode 100644
index 80ae620..0000000
--- a/libs/vamp-sdk/vamp-sdk/PluginHostAdapter.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006 Chris Cannam.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_HOST_ADAPTER_H_
-#define _VAMP_PLUGIN_HOST_ADAPTER_H_
-
-#include <vamp/vamp.h>
-#include <vamp-sdk/Plugin.h>
-
-#include <vector>
-
-namespace Vamp {
-
-/**
- * \class PluginHostAdapter PluginHostAdapter.h <vamp-sdk/PluginHostAdapter.h>
- *
- * PluginHostAdapter is a wrapper class that a Vamp host can use to
- * make the C-language VampPluginDescriptor object appear as a C++
- * Vamp::Plugin object.
- *
- * The Vamp API is defined in vamp/vamp.h as a C API. The C++ objects
- * used for convenience by plugins and hosts actually communicate
- * using the C low-level API, but the details of this communication
- * are handled seamlessly by the Vamp SDK implementation provided the
- * plugin and host use the proper C++ wrapper objects.
- *
- * See also PluginAdapter, the plugin-side wrapper that makes a C++
- * plugin object available using the C query API.
- */
-
-class PluginHostAdapter : public Plugin
-{
-public:
- PluginHostAdapter(const VampPluginDescriptor *descriptor,
- float inputSampleRate);
- virtual ~PluginHostAdapter();
-
- static std::vector<std::string> getPluginPath();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
- void reset();
-
- InputDomain getInputDomain() const;
-
- unsigned int getVampApiVersion() const;
- std::string getIdentifier() const;
- std::string getName() const;
- std::string getDescription() const;
- std::string getMaker() const;
- int getPluginVersion() const;
- std::string getCopyright() const;
-
- ParameterList getParameterDescriptors() const;
- float getParameter(std::string) const;
- void setParameter(std::string, float);
-
- ProgramList getPrograms() const;
- std::string getCurrentProgram() const;
- void selectProgram(std::string);
-
- size_t getPreferredStepSize() const;
- size_t getPreferredBlockSize() const;
-
- size_t getMinChannelCount() const;
- size_t getMaxChannelCount() const;
-
- OutputList getOutputDescriptors() const;
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
- FeatureSet getRemainingFeatures();
-
-protected:
- void convertFeatures(VampFeatureList *, FeatureSet &);
-
- const VampPluginDescriptor *m_descriptor;
- VampPluginHandle m_handle;
-};
-
-}
-
-#endif
-
-
diff --git a/libs/vamp-sdk/vamp-sdk/RealTime.cpp b/libs/vamp-sdk/vamp-sdk/RealTime.cpp
deleted file mode 100644
index 0b541cc..0000000
--- a/libs/vamp-sdk/vamp-sdk/RealTime.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006 Chris Cannam.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-/*
- This is a modified version of a source file from the
- Rosegarden MIDI and audio sequencer and notation editor.
- This file copyright 2000-2006 Chris Cannam.
- Relicensed by the author as detailed above.
-*/
-
-#include <iostream>
-
-#if (__GNUC__ < 3)
-#include <strstream>
-#define stringstream strstream
-#else
-#include <sstream>
-#endif
-
-using std::cerr;
-using std::endl;
-
-#include "RealTime.h"
-
-#ifndef _WIN32
-#include <sys/time.h>
-#endif
-
-namespace Vamp {
-
-// A RealTime consists of two ints that must be at least 32 bits each.
-// A signed 32-bit int can store values exceeding +/- 2 billion. This
-// means we can safely use our lower int for nanoseconds, as there are
-// 1 billion nanoseconds in a second and we need to handle double that
-// because of the implementations of addition etc that we use.
-//
-// The maximum valid RealTime on a 32-bit system is somewhere around
-// 68 years: 999999999 nanoseconds longer than the classic Unix epoch.
-
-#define ONE_BILLION 1000000000
-
-RealTime::RealTime(int s, int n) :
- sec(s), nsec(n)
-{
- if (sec == 0) {
- while (nsec <= -ONE_BILLION) { nsec += ONE_BILLION; --sec; }
- while (nsec >= ONE_BILLION) { nsec -= ONE_BILLION; ++sec; }
- } else if (sec < 0) {
- while (nsec <= -ONE_BILLION) { nsec += ONE_BILLION; --sec; }
- while (nsec > 0) { nsec -= ONE_BILLION; ++sec; }
- } else {
- while (nsec >= ONE_BILLION) { nsec -= ONE_BILLION; ++sec; }
- while (nsec < 0) { nsec += ONE_BILLION; --sec; }
- }
-}
-
-RealTime
-RealTime::fromSeconds(double sec)
-{
- return RealTime(int(sec), int((sec - int(sec)) * ONE_BILLION + 0.5));
-}
-
-RealTime
-RealTime::fromMilliseconds(int msec)
-{
- return RealTime(msec / 1000, (msec % 1000) * 1000000);
-}
-
-#ifndef _WIN32
-RealTime
-RealTime::fromTimeval(const struct timeval &tv)
-{
- return RealTime(tv.tv_sec, tv.tv_usec * 1000);
-}
-#endif
-
-std::ostream &operator<<(std::ostream &out, const RealTime &rt)
-{
- if (rt < RealTime::zeroTime) {
- out << "-";
- } else {
- out << " ";
- }
-
- int s = (rt.sec < 0 ? -rt.sec : rt.sec);
- int n = (rt.nsec < 0 ? -rt.nsec : rt.nsec);
-
- out << s << ".";
-
- int nn(n);
- if (nn == 0) out << "00000000";
- else while (nn < (ONE_BILLION / 10)) {
- out << "0";
- nn *= 10;
- }
-
- out << n << "R";
- return out;
-}
-
-std::string
-RealTime::toString() const
-{
- std::stringstream out;
- out << *this;
-
-#if (__GNUC__ < 3)
- out << std::ends;
-#endif
-
- std::string s = out.str();
-
- // remove trailing R
- return s.substr(0, s.length() - 1);
-}
-
-std::string
-RealTime::toText(bool fixedDp) const
-{
- if (*this < RealTime::zeroTime) return "-" + (-*this).toText();
-
- std::stringstream out;
-
- if (sec >= 3600) {
- out << (sec / 3600) << ":";
- }
-
- if (sec >= 60) {
- out << (sec % 3600) / 60 << ":";
- }
-
- if (sec >= 10) {
- out << ((sec % 60) / 10);
- }
-
- out << (sec % 10);
-
- int ms = msec();
-
- if (ms != 0) {
- out << ".";
- out << (ms / 100);
- ms = ms % 100;
- if (ms != 0) {
- out << (ms / 10);
- ms = ms % 10;
- } else if (fixedDp) {
- out << "0";
- }
- if (ms != 0) {
- out << ms;
- } else if (fixedDp) {
- out << "0";
- }
- } else if (fixedDp) {
- out << ".000";
- }
-
-#if (__GNUC__ < 3)
- out << std::ends;
-#endif
-
- std::string s = out.str();
-
- return s;
-}
-
-
-RealTime
-RealTime::operator/(int d) const
-{
- int secdiv = sec / d;
- int secrem = sec % d;
-
- double nsecdiv = (double(nsec) + ONE_BILLION * double(secrem)) / d;
-
- return RealTime(secdiv, int(nsecdiv + 0.5));
-}
-
-double
-RealTime::operator/(const RealTime &r) const
-{
- double lTotal = double(sec) * ONE_BILLION + double(nsec);
- double rTotal = double(r.sec) * ONE_BILLION + double(r.nsec);
-
- if (rTotal == 0) return 0.0;
- else return lTotal/rTotal;
-}
-
-long
-RealTime::realTime2Frame(const RealTime &time, unsigned int sampleRate)
-{
- if (time < zeroTime) return -realTime2Frame(-time, sampleRate);
-
- // We like integers. The last term is always zero unless the
- // sample rate is greater than 1MHz, but hell, you never know...
-
- long frame =
- time.sec * sampleRate +
- (time.msec() * sampleRate) / 1000 +
- ((time.usec() - 1000 * time.msec()) * sampleRate) / 1000000 +
- ((time.nsec - 1000 * time.usec()) * sampleRate) / 1000000000;
-
- return frame;
-}
-
-RealTime
-RealTime::frame2RealTime(long frame, unsigned int sampleRate)
-{
- if (frame < 0) return -frame2RealTime(-frame, sampleRate);
-
- RealTime rt;
- rt.sec = frame / long(sampleRate);
- frame -= rt.sec * long(sampleRate);
- rt.nsec = (int)(((float(frame) * 1000000) / long(sampleRate)) * 1000);
- return rt;
-}
-
-const RealTime RealTime::zeroTime(0,0);
-
-}
diff --git a/libs/vamp-sdk/vamp-sdk/RealTime.h b/libs/vamp-sdk/vamp-sdk/RealTime.h
index 6b88ed5..297c4ad 100644
--- a/libs/vamp-sdk/vamp-sdk/RealTime.h
+++ b/libs/vamp-sdk/vamp-sdk/RealTime.h
@@ -51,6 +51,9 @@
struct timeval;
#endif
+#include "plugguard.h"
+_VAMP_SDK_PLUGSPACE_BEGIN(RealTime.h)
+
namespace Vamp {
/**
@@ -158,5 +161,7 @@ struct RealTime
std::ostream &operator<<(std::ostream &out, const RealTime &rt);
}
+
+_VAMP_SDK_PLUGSPACE_END(RealTime.h)
#endif
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.cpp b/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.cpp
deleted file mode 100644
index cbe179f..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.cpp
+++ /dev/null
@@ -1,516 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
- This file by Mark Levy and Chris Cannam.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include <vector>
-#include <map>
-
-#include "PluginBufferingAdapter.h"
-
-using std::vector;
-using std::map;
-
-namespace Vamp {
-
-namespace HostExt {
-
-class PluginBufferingAdapter::Impl
-{
-public:
- Impl(Plugin *plugin, float inputSampleRate);
- ~Impl();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- OutputList getOutputDescriptors() const;
-
- void reset();
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
- FeatureSet getRemainingFeatures();
-
-protected:
- class RingBuffer
- {
- public:
- RingBuffer(int n) :
- m_buffer(new float[n+1]), m_writer(0), m_reader(0), m_size(n+1) { }
- virtual ~RingBuffer() { delete[] m_buffer; }
-
- int getSize() const { return m_size-1; }
- void reset() { m_writer = 0; m_reader = 0; }
-
- int getReadSpace() const {
- int writer = m_writer, reader = m_reader, space;
- if (writer > reader) space = writer - reader;
- else if (writer < reader) space = (writer + m_size) - reader;
- else space = 0;
- return space;
- }
-
- int getWriteSpace() const {
- int writer = m_writer;
- int reader = m_reader;
- int space = (reader + m_size - writer - 1);
- if (space >= m_size) space -= m_size;
- return space;
- }
-
- int peek(float *destination, int n) const {
-
- int available = getReadSpace();
-
- if (n > available) {
- for (int i = available; i < n; ++i) {
- destination[i] = 0.f;
- }
- n = available;
- }
- if (n == 0) return n;
-
- int reader = m_reader;
- int here = m_size - reader;
- const float *const bufbase = m_buffer + reader;
-
- if (here >= n) {
- for (int i = 0; i < n; ++i) {
- destination[i] = bufbase[i];
- }
- } else {
- for (int i = 0; i < here; ++i) {
- destination[i] = bufbase[i];
- }
- float *const destbase = destination + here;
- const int nh = n - here;
- for (int i = 0; i < nh; ++i) {
- destbase[i] = m_buffer[i];
- }
- }
-
- return n;
- }
-
- int skip(int n) {
-
- int available = getReadSpace();
- if (n > available) {
- n = available;
- }
- if (n == 0) return n;
-
- int reader = m_reader;
- reader += n;
- while (reader >= m_size) reader -= m_size;
- m_reader = reader;
- return n;
- }
-
- int write(const float *source, int n) {
-
- int available = getWriteSpace();
- if (n > available) {
- n = available;
- }
- if (n == 0) return n;
-
- int writer = m_writer;
- int here = m_size - writer;
- float *const bufbase = m_buffer + writer;
-
- if (here >= n) {
- for (int i = 0; i < n; ++i) {
- bufbase[i] = source[i];
- }
- } else {
- for (int i = 0; i < here; ++i) {
- bufbase[i] = source[i];
- }
- const int nh = n - here;
- const float *const srcbase = source + here;
- float *const buf = m_buffer;
- for (int i = 0; i < nh; ++i) {
- buf[i] = srcbase[i];
- }
- }
-
- writer += n;
- while (writer >= m_size) writer -= m_size;
- m_writer = writer;
-
- return n;
- }
-
- int zero(int n) {
-
- int available = getWriteSpace();
- if (n > available) {
- n = available;
- }
- if (n == 0) return n;
-
- int writer = m_writer;
- int here = m_size - writer;
- float *const bufbase = m_buffer + writer;
-
- if (here >= n) {
- for (int i = 0; i < n; ++i) {
- bufbase[i] = 0.f;
- }
- } else {
- for (int i = 0; i < here; ++i) {
- bufbase[i] = 0.f;
- }
- const int nh = n - here;
- for (int i = 0; i < nh; ++i) {
- m_buffer[i] = 0.f;
- }
- }
-
- writer += n;
- while (writer >= m_size) writer -= m_size;
- m_writer = writer;
-
- return n;
- }
-
- protected:
- float *m_buffer;
- int m_writer;
- int m_reader;
- int m_size;
-
- private:
- RingBuffer(const RingBuffer &); // not provided
- RingBuffer &operator=(const RingBuffer &); // not provided
- };
-
- Plugin *m_plugin;
- size_t m_inputStepSize;
- size_t m_inputBlockSize;
- size_t m_stepSize;
- size_t m_blockSize;
- size_t m_channels;
- vector<RingBuffer *> m_queue;
- float **m_buffers;
- float m_inputSampleRate;
- RealTime m_timestamp;
- bool m_unrun;
- OutputList m_outputs;
-
- void processBlock(FeatureSet& allFeatureSets, RealTime timestamp);
-};
-
-PluginBufferingAdapter::PluginBufferingAdapter(Plugin *plugin) :
- PluginWrapper(plugin)
-{
- m_impl = new Impl(plugin, m_inputSampleRate);
-}
-
-PluginBufferingAdapter::~PluginBufferingAdapter()
-{
- delete m_impl;
-}
-
-bool
-PluginBufferingAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- return m_impl->initialise(channels, stepSize, blockSize);
-}
-
-PluginBufferingAdapter::OutputList
-PluginBufferingAdapter::getOutputDescriptors() const
-{
- return m_impl->getOutputDescriptors();
-}
-
-void
-PluginBufferingAdapter::reset()
-{
- m_impl->reset();
-}
-
-PluginBufferingAdapter::FeatureSet
-PluginBufferingAdapter::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
- return m_impl->process(inputBuffers, timestamp);
-}
-
-PluginBufferingAdapter::FeatureSet
-PluginBufferingAdapter::getRemainingFeatures()
-{
- return m_impl->getRemainingFeatures();
-}
-
-PluginBufferingAdapter::Impl::Impl(Plugin *plugin, float inputSampleRate) :
- m_plugin(plugin),
- m_inputStepSize(0),
- m_inputBlockSize(0),
- m_stepSize(0),
- m_blockSize(0),
- m_channels(0),
- m_queue(0),
- m_buffers(0),
- m_inputSampleRate(inputSampleRate),
- m_timestamp(RealTime::zeroTime),
- m_unrun(true)
-{
- m_outputs = plugin->getOutputDescriptors();
-}
-
-PluginBufferingAdapter::Impl::~Impl()
-{
- // the adapter will delete the plugin
-
- for (size_t i = 0; i < m_channels; ++i) {
- delete m_queue[i];
- delete[] m_buffers[i];
- }
- delete[] m_buffers;
-}
-
-size_t
-PluginBufferingAdapter::getPreferredStepSize() const
-{
- return getPreferredBlockSize();
-}
-
-bool
-PluginBufferingAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- if (stepSize != blockSize) {
- std::cerr << "PluginBufferingAdapter::initialise: input stepSize must be equal to blockSize for this adapter (stepSize = " << stepSize << ", blockSize = " << blockSize << ")" << std::endl;
- return false;
- }
-
- m_channels = channels;
- m_inputStepSize = stepSize;
- m_inputBlockSize = blockSize;
-
- // use the step and block sizes which the plugin prefers
- m_stepSize = m_plugin->getPreferredStepSize();
- m_blockSize = m_plugin->getPreferredBlockSize();
-
- // or sensible defaults if it has no preference
- if (m_blockSize == 0) {
- m_blockSize = 1024;
- }
- if (m_stepSize == 0) {
- if (m_plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain) {
- m_stepSize = m_blockSize/2;
- } else {
- m_stepSize = m_blockSize;
- }
- } else if (m_stepSize > m_blockSize) {
- if (m_plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain) {
- m_blockSize = m_stepSize * 2;
- } else {
- m_blockSize = m_stepSize;
- }
- }
-
- // std::cerr << "PluginBufferingAdapter::initialise: stepSize " << m_inputStepSize << " -> " << m_stepSize
- // << ", blockSize " << m_inputBlockSize << " -> " << m_blockSize << std::endl;
-
- // current implementation breaks if step is greater than block
- if (m_stepSize > m_blockSize) {
- std::cerr << "PluginBufferingAdapter::initialise: plugin's preferred stepSize greater than blockSize, giving up!" << std::endl;
- return false;
- }
-
- m_buffers = new float *[m_channels];
-
- for (size_t i = 0; i < m_channels; ++i) {
- m_queue.push_back(new RingBuffer(m_blockSize + m_inputBlockSize));
- m_buffers[i] = new float[m_blockSize];
- }
-
- return m_plugin->initialise(m_channels, m_stepSize, m_blockSize);
-}
-
-PluginBufferingAdapter::OutputList
-PluginBufferingAdapter::Impl::getOutputDescriptors() const
-{
- OutputList outs = m_plugin->getOutputDescriptors();
- for (size_t i = 0; i < outs.size(); ++i) {
- if (outs[i].sampleType == OutputDescriptor::OneSamplePerStep) {
- outs[i].sampleRate = 1.f / m_stepSize;
- }
- outs[i].sampleType = OutputDescriptor::VariableSampleRate;
- }
- return outs;
-}
-
-void
-PluginBufferingAdapter::Impl::reset()
-{
- m_timestamp = RealTime::zeroTime;
- m_unrun = true;
-
- for (size_t i = 0; i < m_queue.size(); ++i) {
- m_queue[i]->reset();
- }
-}
-
-PluginBufferingAdapter::FeatureSet
-PluginBufferingAdapter::Impl::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
- FeatureSet allFeatureSets;
-
- if (m_unrun) {
- m_timestamp = timestamp;
- m_unrun = false;
- }
-
- // queue the new input
-
- for (size_t i = 0; i < m_channels; ++i) {
- int written = m_queue[i]->write(inputBuffers[i], m_inputBlockSize);
- if (written < int(m_inputBlockSize) && i == 0) {
- std::cerr << "WARNING: PluginBufferingAdapter::Impl::process: "
- << "Buffer overflow: wrote " << written
- << " of " << m_inputBlockSize
- << " input samples (for plugin step size "
- << m_stepSize << ", block size " << m_blockSize << ")"
- << std::endl;
- }
- }
-
- // process as much as we can
-
- while (m_queue[0]->getReadSpace() >= int(m_blockSize)) {
- processBlock(allFeatureSets, timestamp);
- }
-
- return allFeatureSets;
-}
-
-PluginBufferingAdapter::FeatureSet
-PluginBufferingAdapter::Impl::getRemainingFeatures()
-{
- FeatureSet allFeatureSets;
-
- // process remaining samples in queue
- while (m_queue[0]->getReadSpace() >= int(m_blockSize)) {
- processBlock(allFeatureSets, m_timestamp);
- }
-
- // pad any last samples remaining and process
- if (m_queue[0]->getReadSpace() > 0) {
- for (size_t i = 0; i < m_channels; ++i) {
- m_queue[i]->zero(m_blockSize - m_queue[i]->getReadSpace());
- }
- processBlock(allFeatureSets, m_timestamp);
- }
-
- // get remaining features
-
- FeatureSet featureSet = m_plugin->getRemainingFeatures();
-
- for (map<int, FeatureList>::iterator iter = featureSet.begin();
- iter != featureSet.end(); ++iter) {
- FeatureList featureList = iter->second;
- for (size_t i = 0; i < featureList.size(); ++i) {
- allFeatureSets[iter->first].push_back(featureList[i]);
- }
- }
-
- return allFeatureSets;
-}
-
-void
-PluginBufferingAdapter::Impl::processBlock(FeatureSet& allFeatureSets,
- RealTime timestamp)
-{
- for (size_t i = 0; i < m_channels; ++i) {
- m_queue[i]->peek(m_buffers[i], m_blockSize);
- }
-
- FeatureSet featureSet = m_plugin->process(m_buffers, m_timestamp);
-
- for (map<int, FeatureList>::iterator iter = featureSet.begin();
- iter != featureSet.end(); ++iter) {
-
- FeatureList featureList = iter->second;
- int outputNo = iter->first;
-
- for (size_t i = 0; i < featureList.size(); ++i) {
-
- // make sure the timestamp is set
- switch (m_outputs[outputNo].sampleType) {
-
- case OutputDescriptor::OneSamplePerStep:
- // use our internal timestamp - OK????
- featureList[i].timestamp = m_timestamp;
- break;
-
- case OutputDescriptor::FixedSampleRate:
- // use our internal timestamp
- featureList[i].timestamp = m_timestamp;
- break;
-
- case OutputDescriptor::VariableSampleRate:
- break; // plugin must set timestamp
-
- default:
- break;
- }
-
- allFeatureSets[outputNo].push_back(featureList[i]);
- }
- }
-
- // step forward
-
- for (size_t i = 0; i < m_channels; ++i) {
- m_queue[i]->skip(m_stepSize);
- }
-
- // fake up the timestamp each time we step forward
-
- long frame = RealTime::realTime2Frame(m_timestamp,
- int(m_inputSampleRate + 0.5));
- m_timestamp = RealTime::frame2RealTime(frame + m_stepSize,
- int(m_inputSampleRate + 0.5));
-}
-
-}
-
-}
-
-
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.h b/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.h
deleted file mode 100644
index 24ca6f8..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginBufferingAdapter.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
- This file by Mark Levy, Copyright 2007 QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_BUFFERING_ADAPTER_H_
-#define _VAMP_PLUGIN_BUFFERING_ADAPTER_H_
-
-#include "PluginWrapper.h"
-
-namespace Vamp {
-
-namespace HostExt {
-
-/**
- * \class PluginBufferingAdapter PluginBufferingAdapter.h <vamp-sdk/hostext/PluginBufferingAdapter.h>
- *
- * PluginBufferingAdapter is a Vamp plugin adapter that allows plugins
- * to be used by a host supplying an audio stream in non-overlapping
- * buffers of arbitrary size.
- *
- * A host using PluginBufferingAdapter may ignore the preferred step
- * and block size reported by the plugin, and still expect the plugin
- * to run. The value of blockSize and stepSize passed to initialise
- * should be the size of the buffer which the host will supply; the
- * stepSize should be equal to the blockSize.
- *
- * If the internal step size used for the plugin differs from that
- * supplied by the host, the adapter will modify the sample rate
- * specifications for the plugin outputs (setting them all to
- * VariableSampleRate) and set timestamps on the output features for
- * outputs that formerly used a different sample rate specification.
- * This is necessary in order to obtain correct time stamping.
- *
- * In other respects, the PluginBufferingAdapter behaves identically
- * to the plugin that it wraps. The wrapped plugin will be deleted
- * when the wrapper is deleted.
- */
-
-class PluginBufferingAdapter : public PluginWrapper
-{
-public:
- PluginBufferingAdapter(Plugin *plugin); // I take ownership of plugin
- virtual ~PluginBufferingAdapter();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- size_t getPreferredStepSize() const;
-
- OutputList getOutputDescriptors() const;
-
- void reset();
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
- FeatureSet getRemainingFeatures();
-
-protected:
- class Impl;
- Impl *m_impl;
-};
-
-}
-
-}
-
-#endif
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.cpp b/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.cpp
deleted file mode 100644
index fe676bc..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include "PluginChannelAdapter.h"
-
-namespace Vamp {
-
-namespace HostExt {
-
-class PluginChannelAdapter::Impl
-{
-public:
- Impl(Plugin *plugin);
- ~Impl();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
-protected:
- Plugin *m_plugin;
- size_t m_blockSize;
- size_t m_inputChannels;
- size_t m_pluginChannels;
- float **m_buffer;
- const float **m_forwardPtrs;
-};
-
-PluginChannelAdapter::PluginChannelAdapter(Plugin *plugin) :
- PluginWrapper(plugin)
-{
- m_impl = new Impl(plugin);
-}
-
-PluginChannelAdapter::~PluginChannelAdapter()
-{
- delete m_impl;
-}
-
-bool
-PluginChannelAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- return m_impl->initialise(channels, stepSize, blockSize);
-}
-
-PluginChannelAdapter::FeatureSet
-PluginChannelAdapter::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
- return m_impl->process(inputBuffers, timestamp);
-}
-
-PluginChannelAdapter::Impl::Impl(Plugin *plugin) :
- m_plugin(plugin),
- m_blockSize(0),
- m_inputChannels(0),
- m_pluginChannels(0),
- m_buffer(0),
- m_forwardPtrs(0)
-{
-}
-
-PluginChannelAdapter::Impl::~Impl()
-{
- // the adapter will delete the plugin
-
- if (m_buffer) {
- if (m_inputChannels > m_pluginChannels) {
- delete[] m_buffer[0];
- } else {
- for (size_t i = 0; i < m_pluginChannels - m_inputChannels; ++i) {
- delete[] m_buffer[i];
- }
- }
- delete[] m_buffer;
- m_buffer = 0;
- }
-
- if (m_forwardPtrs) {
- delete[] m_forwardPtrs;
- m_forwardPtrs = 0;
- }
-}
-
-bool
-PluginChannelAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- m_blockSize = blockSize;
-
- size_t minch = m_plugin->getMinChannelCount();
- size_t maxch = m_plugin->getMaxChannelCount();
-
- m_inputChannels = channels;
-
- if (m_inputChannels < minch) {
-
- m_forwardPtrs = new const float *[minch];
-
- if (m_inputChannels > 1) {
- // We need a set of zero-valued buffers to add to the
- // forwarded pointers
- m_buffer = new float*[minch - channels];
- for (size_t i = 0; i < minch; ++i) {
- m_buffer[i] = new float[blockSize];
- for (size_t j = 0; j < blockSize; ++j) {
- m_buffer[i][j] = 0.f;
- }
- }
- }
-
- m_pluginChannels = minch;
-
- // std::cerr << "PluginChannelAdapter::initialise: expanding " << m_inputChannels << " to " << m_pluginChannels << " for plugin" << std::endl;
-
- } else if (m_inputChannels > maxch) {
-
- // We only need m_buffer if we are mixing down to a single
- // channel -- otherwise we can just forward the same float* as
- // passed in to process(), expecting the excess to be ignored
-
- if (maxch == 1) {
- m_buffer = new float *[1];
- m_buffer[0] = new float[blockSize];
-
- // std::cerr << "PluginChannelAdapter::initialise: mixing " << m_inputChannels << " to mono for plugin" << std::endl;
-
- } else {
-
- // std::cerr << "PluginChannelAdapter::initialise: reducing " << m_inputChannels << " to " << m_pluginChannels << " for plugin" << std::endl;
- }
-
- m_pluginChannels = maxch;
-
- } else {
-
- // std::cerr << "PluginChannelAdapter::initialise: accepting given number of channels (" << m_inputChannels << ")" << std::endl;
- m_pluginChannels = m_inputChannels;
- }
-
- return m_plugin->initialise(m_pluginChannels, stepSize, blockSize);
-}
-
-PluginChannelAdapter::FeatureSet
-PluginChannelAdapter::Impl::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
-// std::cerr << "PluginChannelAdapter::process: " << m_inputChannels << " -> " << m_pluginChannels << " channels" << std::endl;
-
- if (m_inputChannels < m_pluginChannels) {
-
- if (m_inputChannels == 1) {
- for (size_t i = 0; i < m_pluginChannels; ++i) {
- m_forwardPtrs[i] = inputBuffers[0];
- }
- } else {
- for (size_t i = 0; i < m_inputChannels; ++i) {
- m_forwardPtrs[i] = inputBuffers[i];
- }
- for (size_t i = m_inputChannels; i < m_pluginChannels; ++i) {
- m_forwardPtrs[i] = m_buffer[i - m_inputChannels];
- }
- }
-
- return m_plugin->process(m_forwardPtrs, timestamp);
-
- } else if (m_inputChannels > m_pluginChannels) {
-
- if (m_pluginChannels == 1) {
- for (size_t j = 0; j < m_blockSize; ++j) {
- m_buffer[0][j] = inputBuffers[0][j];
- }
- for (size_t i = 1; i < m_inputChannels; ++i) {
- for (size_t j = 0; j < m_blockSize; ++j) {
- m_buffer[0][j] += inputBuffers[i][j];
- }
- }
- for (size_t j = 0; j < m_blockSize; ++j) {
- m_buffer[0][j] /= m_inputChannels;
- }
- return m_plugin->process(m_buffer, timestamp);
- } else {
- return m_plugin->process(inputBuffers, timestamp);
- }
-
- } else {
-
- return m_plugin->process(inputBuffers, timestamp);
- }
-}
-
-}
-
-}
-
-
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.h b/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.h
deleted file mode 100644
index a2b4d89..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginChannelAdapter.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_CHANNEL_ADAPTER_H_
-#define _VAMP_PLUGIN_CHANNEL_ADAPTER_H_
-
-#include "PluginWrapper.h"
-
-namespace Vamp {
-
-namespace HostExt {
-
-/**
- * \class PluginChannelAdapter PluginChannelAdapter.h <vamp-sdk/hostext/PluginChannelAdapter.h>
- *
- * PluginChannelAdapter is a Vamp plugin adapter that implements a
- * policy for management of plugins that expect a different number of
- * input channels from the number actually available in the source
- * audio data.
- *
- * A host using PluginChannelAdapter may ignore the getMinChannelCount
- * and getMaxChannelCount reported by the plugin, and still expect the
- * plugin to run.
- *
- * PluginChannelAdapter implements the following policy:
- *
- * - If the plugin supports the provided number of channels directly,
- * PluginChannelAdapter will just run the plugin as normal.
- *
- * - If the plugin only supports exactly one channel but more than
- * one channel is provided, PluginChannelAdapter will use the mean of
- * the channels. This ensures that the resulting values remain
- * within the same magnitude range as expected for mono data.
- *
- * - If the plugin requires more than one channel but exactly one is
- * provided, the provided channel will be duplicated across all the
- * plugin input channels.
- *
- * If none of the above apply:
- *
- * - If the plugin requires more channels than are provided, the
- * minimum acceptable number of channels will be produced by adding
- * empty (zero valued) channels to those provided.
- *
- * - If the plugin requires fewer channels than are provided, the
- * maximum acceptable number of channels will be produced by
- * discarding the excess channels.
- *
- * Hosts requiring a different channel policy from the above will need
- * to implement it themselves, instead of using PluginChannelAdapter.
- *
- * Note that PluginChannelAdapter does not override the minimum and
- * maximum channel counts returned by the wrapped plugin. The host
- * will need to be aware that it is using a PluginChannelAdapter, and
- * be prepared to ignore these counts as necessary. (This contrasts
- * with the approach used in PluginInputDomainAdapter, which aims to
- * make the host completely unaware of which underlying input domain
- * is in fact in use.)
- *
- * (The rationale for this is that a host may wish to use the
- * PluginChannelAdapter but still discriminate in some way on the
- * basis of the number of channels actually supported. For example, a
- * simple stereo audio host may prefer to reject plugins that require
- * more than two channels on the grounds that doesn't actually
- * understand what they are for, rather than allow the channel adapter
- * to make a potentially meaningless channel conversion for them.)
- *
- * In every respect other than its management of channels, the
- * PluginChannelAdapter behaves identically to the plugin that it
- * wraps. The wrapped plugin will be deleted when the wrapper is
- * deleted.
- *
- * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
- */
-
-class PluginChannelAdapter : public PluginWrapper
-{
-public:
- PluginChannelAdapter(Plugin *plugin); // I take ownership of plugin
- virtual ~PluginChannelAdapter();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
-protected:
- class Impl;
- Impl *m_impl;
-};
-
-}
-
-}
-
-#endif
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.cpp b/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.cpp
deleted file mode 100644
index 273925f..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.cpp
+++ /dev/null
@@ -1,557 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- This file is based in part on Don Cross's public domain FFT
- implementation.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include "PluginInputDomainAdapter.h"
-
-#include <cmath>
-
-/**
- * If you want to compile using FFTW instead of the built-in FFT
- * implementation for the PluginInputDomainAdapter, define HAVE_FFTW3
- * in the Makefile.
- *
- * Be aware that FFTW is licensed under the GPL -- unlike this SDK,
- * which is provided under a more liberal BSD license in order to
- * permit use in closed source applications. The use of FFTW would
- * mean that your code would need to be licensed under the GPL as
- * well. Do not define this symbol unless you understand and accept
- * the implications of this.
- *
- * Parties such as Linux distribution packagers who redistribute this
- * SDK for use in other programs should _not_ define this symbol, as
- * it would change the effective licensing terms under which the SDK
- * was available to third party developers.
- *
- * The default is not to use FFTW, and to use the built-in FFT instead.
- *
- * Note: The FFTW code uses FFTW_MEASURE, and so will perform badly on
- * its first invocation unless the host has saved and restored FFTW
- * wisdom (see the FFTW documentation).
- */
-#ifdef HAVE_FFTW3
-#include <fftw3.h>
-#endif
-
-namespace Vamp {
-
-namespace HostExt {
-
-class PluginInputDomainAdapter::Impl
-{
-public:
- Impl(Plugin *plugin, float inputSampleRate);
- ~Impl();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- size_t getPreferredStepSize() const;
- size_t getPreferredBlockSize() const;
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
-protected:
- Plugin *m_plugin;
- float m_inputSampleRate;
- int m_channels;
- int m_blockSize;
- float **m_freqbuf;
-
- double *m_ri;
- double *m_window;
-
-#ifdef HAVE_FFTW3
- fftw_plan m_plan;
- fftw_complex *m_cbuf;
-#else
- double *m_ro;
- double *m_io;
- void fft(unsigned int n, bool inverse,
- double *ri, double *ii, double *ro, double *io);
-#endif
-
- size_t makeBlockSizeAcceptable(size_t) const;
-};
-
-PluginInputDomainAdapter::PluginInputDomainAdapter(Plugin *plugin) :
- PluginWrapper(plugin)
-{
- m_impl = new Impl(plugin, m_inputSampleRate);
-}
-
-PluginInputDomainAdapter::~PluginInputDomainAdapter()
-{
- delete m_impl;
-}
-
-bool
-PluginInputDomainAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- return m_impl->initialise(channels, stepSize, blockSize);
-}
-
-Plugin::InputDomain
-PluginInputDomainAdapter::getInputDomain() const
-{
- return TimeDomain;
-}
-
-size_t
-PluginInputDomainAdapter::getPreferredStepSize() const
-{
- return m_impl->getPreferredStepSize();
-}
-
-size_t
-PluginInputDomainAdapter::getPreferredBlockSize() const
-{
- return m_impl->getPreferredBlockSize();
-}
-
-Plugin::FeatureSet
-PluginInputDomainAdapter::process(const float *const *inputBuffers, RealTime timestamp)
-{
- return m_impl->process(inputBuffers, timestamp);
-}
-
-PluginInputDomainAdapter::Impl::Impl(Plugin *plugin, float inputSampleRate) :
- m_plugin(plugin),
- m_inputSampleRate(inputSampleRate),
- m_channels(0),
- m_blockSize(0),
- m_freqbuf(0),
- m_ri(0),
- m_window(0),
-#ifdef HAVE_FFTW3
- m_plan(0),
- m_cbuf(0)
-#else
- m_ro(0),
- m_io(0)
-#endif
-{
-}
-
-PluginInputDomainAdapter::Impl::~Impl()
-{
- // the adapter will delete the plugin
-
- if (m_channels > 0) {
- for (int c = 0; c < m_channels; ++c) {
- delete[] m_freqbuf[c];
- }
- delete[] m_freqbuf;
-#ifdef HAVE_FFTW3
- if (m_plan) {
- fftw_destroy_plan(m_plan);
- fftw_free(m_ri);
- fftw_free(m_cbuf);
- m_plan = 0;
- }
-#else
- delete[] m_ri;
- delete[] m_ro;
- delete[] m_io;
-#endif
- delete[] m_window;
- }
-}
-
-// for some visual studii apparently
-#ifndef M_PI
-#define M_PI 3.14159265358979232846
-#endif
-
-bool
-PluginInputDomainAdapter::Impl::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- if (m_plugin->getInputDomain() == TimeDomain) {
-
- m_blockSize = int(blockSize);
- m_channels = int(channels);
-
- return m_plugin->initialise(channels, stepSize, blockSize);
- }
-
- if (blockSize < 2) {
- std::cerr << "ERROR: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: blocksize < 2 not supported" << std::endl;
- return false;
- }
-
- if (blockSize & (blockSize-1)) {
- std::cerr << "ERROR: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: non-power-of-two\nblocksize " << blockSize << " not supported" << std::endl;
- return false;
- }
-
- if (m_channels > 0) {
- for (int c = 0; c < m_channels; ++c) {
- delete[] m_freqbuf[c];
- }
- delete[] m_freqbuf;
-#ifdef HAVE_FFTW3
- if (m_plan) {
- fftw_destroy_plan(m_plan);
- fftw_free(m_ri);
- fftw_free(m_cbuf);
- m_plan = 0;
- }
-#else
- delete[] m_ri;
- delete[] m_ro;
- delete[] m_io;
-#endif
- delete[] m_window;
- }
-
- m_blockSize = int(blockSize);
- m_channels = int(channels);
-
- m_freqbuf = new float *[m_channels];
- for (int c = 0; c < m_channels; ++c) {
- m_freqbuf[c] = new float[m_blockSize + 2];
- }
- m_window = new double[m_blockSize];
-
- for (int i = 0; i < m_blockSize; ++i) {
- // Hanning window
- m_window[i] = (0.50 - 0.50 * cos((2.0 * M_PI * i) / m_blockSize));
- }
-
-#ifdef HAVE_FFTW3
- m_ri = (double *)fftw_malloc(blockSize * sizeof(double));
- m_cbuf = (fftw_complex *)fftw_malloc((blockSize/2 + 1) * sizeof(fftw_complex));
- m_plan = fftw_plan_dft_r2c_1d(blockSize, m_ri, m_cbuf, FFTW_MEASURE);
-#else
- m_ri = new double[m_blockSize];
- m_ro = new double[m_blockSize];
- m_io = new double[m_blockSize];
-#endif
-
- return m_plugin->initialise(channels, stepSize, blockSize);
-}
-
-size_t
-PluginInputDomainAdapter::Impl::getPreferredStepSize() const
-{
- size_t step = m_plugin->getPreferredStepSize();
-
- if (step == 0 && (m_plugin->getInputDomain() == FrequencyDomain)) {
- step = getPreferredBlockSize() / 2;
- }
-
- return step;
-}
-
-size_t
-PluginInputDomainAdapter::Impl::getPreferredBlockSize() const
-{
- size_t block = m_plugin->getPreferredBlockSize();
-
- if (m_plugin->getInputDomain() == FrequencyDomain) {
- if (block == 0) {
- block = 1024;
- } else {
- block = makeBlockSizeAcceptable(block);
- }
- }
-
- return block;
-}
-
-size_t
-PluginInputDomainAdapter::Impl::makeBlockSizeAcceptable(size_t blockSize) const
-{
- if (blockSize < 2) {
-
- std::cerr << "WARNING: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: blocksize < 2 not" << std::endl
- << "supported, increasing from " << blockSize << " to 2" << std::endl;
- blockSize = 2;
-
- } else if (blockSize & (blockSize-1)) {
-
-#ifdef HAVE_FFTW3
- // not an issue with FFTW
-#else
-
- // not a power of two, can't handle that with our built-in FFT
- // implementation
-
- size_t nearest = blockSize;
- size_t power = 0;
- while (nearest > 1) {
- nearest >>= 1;
- ++power;
- }
- nearest = 1;
- while (power) {
- nearest <<= 1;
- --power;
- }
-
- if (blockSize - nearest > (nearest*2) - blockSize) {
- nearest = nearest*2;
- }
-
- std::cerr << "WARNING: Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise: non-power-of-two\nblocksize " << blockSize << " not supported, using blocksize " << nearest << " instead" << std::endl;
- blockSize = nearest;
-
-#endif
- }
-
- return blockSize;
-}
-
-Plugin::FeatureSet
-PluginInputDomainAdapter::Impl::process(const float *const *inputBuffers,
- RealTime timestamp)
-{
- if (m_plugin->getInputDomain() == TimeDomain) {
- return m_plugin->process(inputBuffers, timestamp);
- }
-
- // The timestamp supplied should be (according to the Vamp::Plugin
- // spec) the time of the start of the time-domain input block.
- // However, we want to pass to the plugin an FFT output calculated
- // from the block of samples _centred_ on that timestamp.
- //
- // We have two options:
- //
- // 1. Buffer the input, calculating the fft of the values at the
- // passed-in block minus blockSize/2 rather than starting at the
- // passed-in block. So each time we call process on the plugin,
- // we are passing in the same timestamp as was passed to our own
- // process plugin, but not (the frequency domain representation
- // of) the same set of samples. Advantages: avoids confusion in
- // the host by ensuring the returned values have timestamps
- // comparable with that passed in to this function (in fact this
- // is pretty much essential for one-value-per-block outputs);
- // consistent with hosts such as SV that deal with the
- // frequency-domain transform themselves. Disadvantages: means
- // making the not necessarily correct assumption that the samples
- // preceding the first official block are all zero (or some other
- // known value).
- //
- // 2. Increase the passed-in timestamps by half the blocksize. So
- // when we call process, we are passing in the frequency domain
- // representation of the same set of samples as passed to us, but
- // with a different timestamp. Advantages: simplicity; avoids
- // iffy assumption mentioned above. Disadvantages: inconsistency
- // with SV in cases where stepSize != blockSize/2; potential
- // confusion arising from returned timestamps being calculated
- // from the adjusted input timestamps rather than the original
- // ones (and inaccuracy where the returned timestamp is implied,
- // as in one-value-per-block).
- //
- // Neither way is ideal, but I don't think either is strictly
- // incorrect either. I think this is just a case where the same
- // plugin can legitimately produce differing results from the same
- // input data, depending on how that data is packaged.
- //
- // We'll go for option 2, adjusting the timestamps. Note in
- // particular that this means some results can differ from those
- // produced by SV.
-
-// std::cerr << "PluginInputDomainAdapter: sampleRate " << m_inputSampleRate << ", blocksize " << m_blockSize << ", adjusting time from " << timestamp;
-
- timestamp = timestamp + RealTime::frame2RealTime
- (m_blockSize/2, int(m_inputSampleRate + 0.5));
-
-// std::cerr << " to " << timestamp << std::endl;
-
- for (int c = 0; c < m_channels; ++c) {
-
- for (int i = 0; i < m_blockSize; ++i) {
- m_ri[i] = double(inputBuffers[c][i]) * m_window[i];
- }
-
- for (int i = 0; i < m_blockSize/2; ++i) {
- // FFT shift
- double value = m_ri[i];
- m_ri[i] = m_ri[i + m_blockSize/2];
- m_ri[i + m_blockSize/2] = value;
- }
-
-#ifdef HAVE_FFTW3
-
- fftw_execute(m_plan);
-
- for (int i = 0; i <= m_blockSize/2; ++i) {
- m_freqbuf[c][i * 2] = float(m_cbuf[i][0]);
- m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i][1]);
- }
-
-#else
-
- fft(m_blockSize, false, m_ri, 0, m_ro, m_io);
-
- for (int i = 0; i <= m_blockSize/2; ++i) {
- m_freqbuf[c][i * 2] = float(m_ro[i]);
- m_freqbuf[c][i * 2 + 1] = float(m_io[i]);
- }
-
-#endif
- }
-
- return m_plugin->process(m_freqbuf, timestamp);
-}
-
-#ifndef HAVE_FFTW3
-
-void
-PluginInputDomainAdapter::Impl::fft(unsigned int n, bool inverse,
- double *ri, double *ii, double *ro, double *io)
-{
- if (!ri || !ro || !io) return;
-
- unsigned int bits;
- unsigned int i, j, k, m;
- unsigned int blockSize, blockEnd;
-
- double tr, ti;
-
- if (n < 2) return;
- if (n & (n-1)) return;
-
- double angle = 2.0 * M_PI;
- if (inverse) angle = -angle;
-
- for (i = 0; ; ++i) {
- if (n & (1 << i)) {
- bits = i;
- break;
- }
- }
-
- static unsigned int tableSize = 0;
- static int *table = 0;
-
- if (tableSize != n) {
-
- delete[] table;
-
- table = new int[n];
-
- for (i = 0; i < n; ++i) {
-
- m = i;
-
- for (j = k = 0; j < bits; ++j) {
- k = (k << 1) | (m & 1);
- m >>= 1;
- }
-
- table[i] = k;
- }
-
- tableSize = n;
- }
-
- if (ii) {
- for (i = 0; i < n; ++i) {
- ro[table[i]] = ri[i];
- io[table[i]] = ii[i];
- }
- } else {
- for (i = 0; i < n; ++i) {
- ro[table[i]] = ri[i];
- io[table[i]] = 0.0;
- }
- }
-
- blockEnd = 1;
-
- for (blockSize = 2; blockSize <= n; blockSize <<= 1) {
-
- double delta = angle / (double)blockSize;
- double sm2 = -sin(-2 * delta);
- double sm1 = -sin(-delta);
- double cm2 = cos(-2 * delta);
- double cm1 = cos(-delta);
- double w = 2 * cm1;
- double ar[3], ai[3];
-
- for (i = 0; i < n; i += blockSize) {
-
- ar[2] = cm2;
- ar[1] = cm1;
-
- ai[2] = sm2;
- ai[1] = sm1;
-
- for (j = i, m = 0; m < blockEnd; j++, m++) {
-
- ar[0] = w * ar[1] - ar[2];
- ar[2] = ar[1];
- ar[1] = ar[0];
-
- ai[0] = w * ai[1] - ai[2];
- ai[2] = ai[1];
- ai[1] = ai[0];
-
- k = j + blockEnd;
- tr = ar[0] * ro[k] - ai[0] * io[k];
- ti = ar[0] * io[k] + ai[0] * ro[k];
-
- ro[k] = ro[j] - tr;
- io[k] = io[j] - ti;
-
- ro[j] += tr;
- io[j] += ti;
- }
- }
-
- blockEnd = blockSize;
- }
-
- if (inverse) {
-
- double denom = (double)n;
-
- for (i = 0; i < n; i++) {
- ro[i] /= denom;
- io[i] /= denom;
- }
- }
-}
-
-#endif
-
-}
-
-}
-
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.h b/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.h
deleted file mode 100644
index 73da053..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginInputDomainAdapter.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
-#define _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
-
-#include "PluginWrapper.h"
-
-namespace Vamp {
-
-namespace HostExt {
-
-/**
- * \class PluginInputDomainAdapter PluginInputDomainAdapter.h <vamp-sdk/hostext/PluginInputDomainAdapter.h>
- *
- * PluginInputDomainAdapter is a Vamp plugin adapter that converts
- * time-domain input into frequency-domain input for plugins that need
- * it. This permits a host to use time- and frequency-domain plugins
- * interchangeably without needing to handle the conversion itself.
- *
- * This adapter uses a basic Hanning windowed FFT that supports
- * power-of-two block sizes only. If a frequency domain plugin
- * requests a non-power-of-two blocksize, the adapter will adjust it
- * to a nearby power of two instead. Thus, getPreferredBlockSize()
- * will always return a power of two if the wrapped plugin is a
- * frequency domain one. If the plugin doesn't accept the adjusted
- * power of two block size, initialise() will fail.
- *
- * The adapter provides no way for the host to discover whether the
- * underlying plugin is actually a time or frequency domain plugin
- * (except that if the preferred block size is not a power of two, it
- * must be a time domain plugin).
- *
- * The FFT implementation is simple and self-contained, but unlikely
- * to be the fastest available: a host can usually do better if it
- * cares enough.
- *
- * In every respect other than its input domain handling, the
- * PluginInputDomainAdapter behaves identically to the plugin that it
- * wraps. The wrapped plugin will be deleted when the wrapper is
- * deleted.
- *
- * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
- */
-
-class PluginInputDomainAdapter : public PluginWrapper
-{
-public:
- PluginInputDomainAdapter(Plugin *plugin); // I take ownership of plugin
- virtual ~PluginInputDomainAdapter();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
-
- InputDomain getInputDomain() const;
-
- size_t getPreferredStepSize() const;
- size_t getPreferredBlockSize() const;
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
-protected:
- class Impl;
- Impl *m_impl;
-};
-
-}
-
-}
-
-#endif
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.cpp b/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.cpp
deleted file mode 100644
index e9d75ee..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.cpp
+++ /dev/null
@@ -1,639 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include "vamp-sdk/PluginHostAdapter.h"
-#include "PluginLoader.h"
-#include "PluginInputDomainAdapter.h"
-#include "PluginChannelAdapter.h"
-#include "PluginBufferingAdapter.h"
-
-#include <string>
-#include <cstring>
-#include <fstream>
-#include <cctype> // tolower
-#include <cstring>
-
-#ifdef _WIN32
-
-#include <windows.h>
-#include <tchar.h>
-#define PLUGIN_SUFFIX "dll"
-
-#else /* ! _WIN32 */
-
-#include <dirent.h>
-#include <dlfcn.h>
-
-#ifdef __APPLE__
-#define PLUGIN_SUFFIX "dylib"
-#else /* ! __APPLE__ */
-#define PLUGIN_SUFFIX "so"
-#endif /* ! __APPLE__ */
-
-#endif /* ! _WIN32 */
-
-using namespace std;
-
-namespace Vamp {
-
-namespace HostExt {
-
-class PluginLoader::Impl
-{
-public:
- Impl();
- virtual ~Impl();
-
- PluginKeyList listPlugins();
-
- Plugin *loadPlugin(PluginKey key,
- float inputSampleRate,
- int adapterFlags);
-
- PluginKey composePluginKey(string libraryName, string identifier);
-
- PluginCategoryHierarchy getPluginCategory(PluginKey key);
-
- string getLibraryPathForPlugin(PluginKey key);
-
- static void setInstanceToClean(PluginLoader *instance);
-
-protected:
- class PluginDeletionNotifyAdapter : public PluginWrapper {
- public:
- PluginDeletionNotifyAdapter(Plugin *plugin, Impl *loader);
- virtual ~PluginDeletionNotifyAdapter();
- protected:
- Impl *m_loader;
- };
-
- class InstanceCleaner {
- public:
- InstanceCleaner() : m_instance(0) { }
- ~InstanceCleaner() { delete m_instance; }
- void setInstance(PluginLoader *instance) { m_instance = instance; }
- protected:
- PluginLoader *m_instance;
- };
-
- virtual void pluginDeleted(PluginDeletionNotifyAdapter *adapter);
-
- map<PluginKey, string> m_pluginLibraryNameMap;
- bool m_allPluginsEnumerated;
- void enumeratePlugins(PluginKey forPlugin = "");
-
- map<PluginKey, PluginCategoryHierarchy> m_taxonomy;
- void generateTaxonomy();
-
- map<Plugin *, void *> m_pluginLibraryHandleMap;
-
- bool decomposePluginKey(PluginKey key,
- string &libraryName, string &identifier);
-
- void *loadLibrary(string path);
- void unloadLibrary(void *handle);
- void *lookupInLibrary(void *handle, const char *symbol);
-
- string splicePath(string a, string b);
- vector<string> listFiles(string dir, string ext);
-
- static InstanceCleaner m_cleaner;
-};
-
-PluginLoader *
-PluginLoader::m_instance = 0;
-
-PluginLoader::Impl::InstanceCleaner
-PluginLoader::Impl::m_cleaner;
-
-PluginLoader::PluginLoader()
-{
- m_impl = new Impl();
-}
-
-PluginLoader::~PluginLoader()
-{
- delete m_impl;
-}
-
-PluginLoader *
-PluginLoader::getInstance()
-{
- if (!m_instance) {
- // The cleaner doesn't own the instance, because we leave the
- // instance pointer in the base class for binary backwards
- // compatibility reasons and to avoid waste
- m_instance = new PluginLoader();
- Impl::setInstanceToClean(m_instance);
- }
- return m_instance;
-}
-
-vector<PluginLoader::PluginKey>
-PluginLoader::listPlugins()
-{
- return m_impl->listPlugins();
-}
-
-Plugin *
-PluginLoader::loadPlugin(PluginKey key,
- float inputSampleRate,
- int adapterFlags)
-{
- return m_impl->loadPlugin(key, inputSampleRate, adapterFlags);
-}
-
-PluginLoader::PluginKey
-PluginLoader::composePluginKey(string libraryName, string identifier)
-{
- return m_impl->composePluginKey(libraryName, identifier);
-}
-
-PluginLoader::PluginCategoryHierarchy
-PluginLoader::getPluginCategory(PluginKey key)
-{
- return m_impl->getPluginCategory(key);
-}
-
-string
-PluginLoader::getLibraryPathForPlugin(PluginKey key)
-{
- return m_impl->getLibraryPathForPlugin(key);
-}
-
-PluginLoader::Impl::Impl() :
- m_allPluginsEnumerated(false)
-{
-}
-
-PluginLoader::Impl::~Impl()
-{
-}
-
-void
-PluginLoader::Impl::setInstanceToClean(PluginLoader *instance)
-{
- m_cleaner.setInstance(instance);
-}
-
-vector<PluginLoader::PluginKey>
-PluginLoader::Impl::listPlugins()
-{
- if (!m_allPluginsEnumerated) enumeratePlugins();
-
- vector<PluginKey> plugins;
- for (map<PluginKey, string>::iterator mi = m_pluginLibraryNameMap.begin();
- mi != m_pluginLibraryNameMap.end(); ++mi) {
- plugins.push_back(mi->first);
- }
-
- return plugins;
-}
-
-void
-PluginLoader::Impl::enumeratePlugins(PluginKey forPlugin)
-{
- vector<string> path = PluginHostAdapter::getPluginPath();
-
- string libraryName, identifier;
- if (forPlugin != "") {
- if (!decomposePluginKey(forPlugin, libraryName, identifier)) {
- std::cerr << "WARNING: Vamp::HostExt::PluginLoader: Invalid plugin key \""
- << forPlugin << "\" in enumerate" << std::endl;
- return;
- }
- }
-
- for (size_t i = 0; i < path.size(); ++i) {
-
- vector<string> files = listFiles(path[i], PLUGIN_SUFFIX);
-
- for (vector<string>::iterator fi = files.begin();
- fi != files.end(); ++fi) {
-
- if (libraryName != "") {
- // libraryName is lowercased and lacking an extension,
- // as it came from the plugin key
- string temp = *fi;
- for (size_t i = 0; i < temp.length(); ++i) {
- temp[i] = tolower(temp[i]);
- }
- string::size_type pi = temp.find('.');
- if (pi == string::npos) {
- if (libraryName != temp) continue;
- } else {
- if (libraryName != temp.substr(0, pi)) continue;
- }
- }
-
- string fullPath = path[i];
- fullPath = splicePath(fullPath, *fi);
- void *handle = loadLibrary(fullPath);
- if (!handle) continue;
-
- VampGetPluginDescriptorFunction fn =
- (VampGetPluginDescriptorFunction)lookupInLibrary
- (handle, "vampGetPluginDescriptor");
-
- if (!fn) {
- unloadLibrary(handle);
- continue;
- }
-
- int index = 0;
- const VampPluginDescriptor *descriptor = 0;
-
- while ((descriptor = fn(VAMP_API_VERSION, index))) {
- ++index;
- if (identifier != "") {
- if (descriptor->identifier != identifier) continue;
- }
- PluginKey key = composePluginKey(*fi, descriptor->identifier);
-// std::cerr << "enumerate: " << key << " (path: " << fullPath << ")" << std::endl;
- if (m_pluginLibraryNameMap.find(key) ==
- m_pluginLibraryNameMap.end()) {
- m_pluginLibraryNameMap[key] = fullPath;
- }
- }
-
- unloadLibrary(handle);
- }
- }
-
- if (forPlugin == "") m_allPluginsEnumerated = true;
-}
-
-PluginLoader::PluginKey
-PluginLoader::Impl::composePluginKey(string libraryName, string identifier)
-{
- string basename = libraryName;
-
- string::size_type li = basename.rfind('/');
- if (li != string::npos) basename = basename.substr(li + 1);
-
- li = basename.find('.');
- if (li != string::npos) basename = basename.substr(0, li);
-
- for (size_t i = 0; i < basename.length(); ++i) {
- basename[i] = tolower(basename[i]);
- }
-
- return basename + ":" + identifier;
-}
-
-bool
-PluginLoader::Impl::decomposePluginKey(PluginKey key,
- string &libraryName,
- string &identifier)
-{
- string::size_type ki = key.find(':');
- if (ki == string::npos) {
- return false;
- }
-
- libraryName = key.substr(0, ki);
- identifier = key.substr(ki + 1);
- return true;
-}
-
-PluginLoader::PluginCategoryHierarchy
-PluginLoader::Impl::getPluginCategory(PluginKey plugin)
-{
- if (m_taxonomy.empty()) generateTaxonomy();
- if (m_taxonomy.find(plugin) == m_taxonomy.end()) {
- return PluginCategoryHierarchy();
- }
- return m_taxonomy[plugin];
-}
-
-string
-PluginLoader::Impl::getLibraryPathForPlugin(PluginKey plugin)
-{
- if (m_pluginLibraryNameMap.find(plugin) == m_pluginLibraryNameMap.end()) {
- if (m_allPluginsEnumerated) return "";
- enumeratePlugins(plugin);
- }
- if (m_pluginLibraryNameMap.find(plugin) == m_pluginLibraryNameMap.end()) {
- return "";
- }
- return m_pluginLibraryNameMap[plugin];
-}
-
-Plugin *
-PluginLoader::Impl::loadPlugin(PluginKey key,
- float inputSampleRate, int adapterFlags)
-{
- string libname, identifier;
- if (!decomposePluginKey(key, libname, identifier)) {
- std::cerr << "Vamp::HostExt::PluginLoader: Invalid plugin key \""
- << key << "\" in loadPlugin" << std::endl;
- return 0;
- }
-
- string fullPath = getLibraryPathForPlugin(key);
- if (fullPath == "") return 0;
-
- void *handle = loadLibrary(fullPath);
- if (!handle) return 0;
-
- VampGetPluginDescriptorFunction fn =
- (VampGetPluginDescriptorFunction)lookupInLibrary
- (handle, "vampGetPluginDescriptor");
-
- if (!fn) {
- unloadLibrary(handle);
- return 0;
- }
-
- int index = 0;
- const VampPluginDescriptor *descriptor = 0;
-
- while ((descriptor = fn(VAMP_API_VERSION, index))) {
-
- if (string(descriptor->identifier) == identifier) {
-
- Vamp::PluginHostAdapter *plugin =
- new Vamp::PluginHostAdapter(descriptor, inputSampleRate);
-
- Plugin *adapter = new PluginDeletionNotifyAdapter(plugin, this);
-
- m_pluginLibraryHandleMap[adapter] = handle;
-
- if (adapterFlags & ADAPT_INPUT_DOMAIN) {
- if (adapter->getInputDomain() == Plugin::FrequencyDomain) {
- adapter = new PluginInputDomainAdapter(adapter);
- }
- }
-
- if (adapterFlags & ADAPT_BUFFER_SIZE) {
- adapter = new PluginBufferingAdapter(adapter);
- }
-
- if (adapterFlags & ADAPT_CHANNEL_COUNT) {
- adapter = new PluginChannelAdapter(adapter);
- }
-
- return adapter;
- }
-
- ++index;
- }
-
- cerr << "Vamp::HostExt::PluginLoader: Plugin \""
- << identifier << "\" not found in library \""
- << fullPath << "\"" << endl;
-
- return 0;
-}
-
-void
-PluginLoader::Impl::generateTaxonomy()
-{
-// cerr << "PluginLoader::Impl::generateTaxonomy" << endl;
-
- vector<string> path = PluginHostAdapter::getPluginPath();
- string libfragment = "/lib/";
- vector<string> catpath;
-
- string suffix = "cat";
-
- for (vector<string>::iterator i = path.begin();
- i != path.end(); ++i) {
-
- // It doesn't matter that we're using literal forward-slash in
- // this bit, as it's only relevant if the path contains
- // "/lib/", which is only meaningful and only plausible on
- // systems with forward-slash delimiters
-
- string dir = *i;
- string::size_type li = dir.find(libfragment);
-
- if (li != string::npos) {
- catpath.push_back
- (dir.substr(0, li)
- + "/share/"
- + dir.substr(li + libfragment.length()));
- }
-
- catpath.push_back(dir);
- }
-
- char buffer[1024];
-
- for (vector<string>::iterator i = catpath.begin();
- i != catpath.end(); ++i) {
-
- vector<string> files = listFiles(*i, suffix);
-
- for (vector<string>::iterator fi = files.begin();
- fi != files.end(); ++fi) {
-
- string filepath = splicePath(*i, *fi);
- ifstream is(filepath.c_str(), ifstream::in | ifstream::binary);
-
- if (is.fail()) {
-// cerr << "failed to open: " << filepath << endl;
- continue;
- }
-
-// cerr << "opened: " << filepath << endl;
-
- while (!!is.getline(buffer, 1024)) {
-
- string line(buffer);
-
-// cerr << "line = " << line << endl;
-
- string::size_type di = line.find("::");
- if (di == string::npos) continue;
-
- string id = line.substr(0, di);
- string encodedCat = line.substr(di + 2);
-
- if (id.substr(0, 5) != "vamp:") continue;
- id = id.substr(5);
-
- while (encodedCat.length() >= 1 &&
- encodedCat[encodedCat.length()-1] == '\r') {
- encodedCat = encodedCat.substr(0, encodedCat.length()-1);
- }
-
-// cerr << "id = " << id << ", cat = " << encodedCat << endl;
-
- PluginCategoryHierarchy category;
- string::size_type ai;
- while ((ai = encodedCat.find(" > ")) != string::npos) {
- category.push_back(encodedCat.substr(0, ai));
- encodedCat = encodedCat.substr(ai + 3);
- }
- if (encodedCat != "") category.push_back(encodedCat);
-
- m_taxonomy[id] = category;
- }
- }
- }
-}
-
-void *
-PluginLoader::Impl::loadLibrary(string path)
-{
- void *handle = 0;
-#ifdef _WIN32
- handle = LoadLibrary(path.c_str());
- if (!handle) {
- cerr << "Vamp::HostExt::PluginLoader: Unable to load library \""
- << path << "\"" << endl;
- }
-#else
- handle = dlopen(path.c_str(), RTLD_LAZY);
- if (!handle) {
- cerr << "Vamp::HostExt::PluginLoader: Unable to load library \""
- << path << "\": " << dlerror() << endl;
- }
-#endif
- return handle;
-}
-
-void
-PluginLoader::Impl::unloadLibrary(void *handle)
-{
-#ifdef _WIN32
- FreeLibrary((HINSTANCE)handle);
-#else
- dlclose(handle);
-#endif
-}
-
-void *
-PluginLoader::Impl::lookupInLibrary(void *handle, const char *symbol)
-{
-#ifdef _WIN32
- return (void *)GetProcAddress((HINSTANCE)handle, symbol);
-#else
- return (void *)dlsym(handle, symbol);
-#endif
-}
-
-string
-PluginLoader::Impl::splicePath(string a, string b)
-{
-#ifdef _WIN32
- return a + "\\" + b;
-#else
- return a + "/" + b;
-#endif
-}
-
-vector<string>
-PluginLoader::Impl::listFiles(string dir, string extension)
-{
- vector<string> files;
-
-#ifdef _WIN32
-
- string expression = dir + "\\*." + extension;
- WIN32_FIND_DATA data;
- HANDLE fh = FindFirstFile(expression.c_str(), &data);
- if (fh == INVALID_HANDLE_VALUE) return files;
-
- bool ok = true;
- while (ok) {
- files.push_back(data.cFileName);
- ok = FindNextFile(fh, &data);
- }
-
- FindClose(fh);
-
-#else
-
- size_t extlen = extension.length();
- DIR *d = opendir(dir.c_str());
- if (!d) return files;
-
- struct dirent *e = 0;
- while ((e = readdir(d))) {
-
- if (!(e->d_type & DT_REG) && (e->d_type != DT_UNKNOWN)) continue;
-
- if (!e->d_name) continue;
-
- size_t len = strlen(e->d_name);
- if (len < extlen + 2 ||
- e->d_name + len - extlen - 1 != "." + extension) {
- continue;
- }
-
- files.push_back(e->d_name);
- }
-
- closedir(d);
-#endif
-
- return files;
-}
-
-void
-PluginLoader::Impl::pluginDeleted(PluginDeletionNotifyAdapter *adapter)
-{
- void *handle = m_pluginLibraryHandleMap[adapter];
- if (handle) unloadLibrary(handle);
- m_pluginLibraryHandleMap.erase(adapter);
-}
-
-PluginLoader::Impl::PluginDeletionNotifyAdapter::PluginDeletionNotifyAdapter(Plugin *plugin,
- Impl *loader) :
- PluginWrapper(plugin),
- m_loader(loader)
-{
-}
-
-PluginLoader::Impl::PluginDeletionNotifyAdapter::~PluginDeletionNotifyAdapter()
-{
- // We need to delete the plugin before calling pluginDeleted, as
- // the delete call may require calling through to the descriptor
- // (for e.g. cleanup) but pluginDeleted may unload the required
- // library for the call. To prevent a double deletion when our
- // parent's destructor runs (after this one), be sure to set
- // m_plugin to 0 after deletion.
- delete m_plugin;
- m_plugin = 0;
-
- if (m_loader) m_loader->pluginDeleted(this);
-}
-
-}
-
-}
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.h b/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.h
deleted file mode 100644
index f48143c..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginLoader.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_LOADER_H_
-#define _VAMP_PLUGIN_LOADER_H_
-
-#include <vector>
-#include <string>
-#include <map>
-
-#include "PluginWrapper.h"
-
-namespace Vamp {
-
-class Plugin;
-
-namespace HostExt {
-
-/**
- * \class PluginLoader PluginLoader.h <vamp-sdk/hostext/PluginLoader.h>
- *
- * Vamp::HostExt::PluginLoader is a convenience class for discovering
- * and loading Vamp plugins using the typical plugin-path, library
- * naming, and categorisation conventions described in the Vamp SDK
- * documentation. This class is intended to greatly simplify the task
- * of becoming a Vamp plugin host for any C++ application.
- *
- * Hosts are not required by the Vamp specification to use the same
- * plugin search path and naming conventions as implemented by this
- * class, and are certainly not required to use this actual class.
- * But we do strongly recommend it.
- *
- * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
- */
-
-class PluginLoader
-{
-public:
- /**
- * Obtain a pointer to the singleton instance of PluginLoader.
- * Use this to obtain your loader object.
- */
- static PluginLoader *getInstance();
-
- /**
- * PluginKey is a string type that is used to identify a plugin
- * uniquely within the scope of "the current system". It consists
- * of the lower-cased base name of the plugin library, a colon
- * separator, and the identifier string for the plugin. It is
- * only meaningful in the context of a given plugin path (the one
- * returned by PluginHostAdapter::getPluginPath()).
- *
- * Use composePluginKey() to construct a plugin key from a known
- * plugin library name and identifier.
- *
- * Note: the fact that the library component of the key is
- * lower-cased implies that library names are matched
- * case-insensitively by the PluginLoader class, regardless of the
- * case sensitivity of the underlying filesystem. (Plugin
- * identifiers _are_ case sensitive, however.) Also, it is not
- * possible to portably extract a working library name from a
- * plugin key, as the result may fail on case-sensitive
- * filesystems. Use getLibraryPathForPlugin() instead.
- */
- typedef std::string PluginKey;
-
- /**
- * PluginKeyList is a sequence of plugin keys, such as returned by
- * listPlugins().
- */
- typedef std::vector<PluginKey> PluginKeyList;
-
- /**
- * PluginCategoryHierarchy is a sequence of general->specific
- * category names, as may be associated with a single plugin.
- * This sequence describes the location of a plugin within a
- * category forest, containing the human-readable names of the
- * plugin's category tree root, followed by each of the nodes down
- * to the leaf containing the plugin.
- *
- * \see getPluginCategory()
- */
- typedef std::vector<std::string> PluginCategoryHierarchy;
-
- /**
- * Search for all available Vamp plugins, and return a list of
- * them in the order in which they were found.
- */
- PluginKeyList listPlugins();
-
- /**
- * AdapterFlags contains a set of values that may be OR'd together
- * to indicate in which circumstances PluginLoader should use a
- * plugin adapter to make a plugin easier to use for a host that
- * does not want to cater for complex features.
- *
- * The available flags are:
- *
- * ADAPT_INPUT_DOMAIN - If the plugin expects frequency domain
- * input, wrap it in a PluginInputDomainAdapter that automatically
- * converts the plugin to one that expects time-domain input.
- * This enables a host to accommodate time- and frequency-domain
- * plugins without needing to do any conversion itself.
- *
- * ADAPT_CHANNEL_COUNT - Wrap the plugin in a PluginChannelAdapter
- * to handle any mismatch between the number of channels of audio
- * the plugin can handle and the number available in the host.
- * This enables a host to use plugins that may require the input
- * to be mixed down to mono, etc., without having to worry about
- * doing that itself.
- *
- * ADAPT_BUFFER_SIZE - Wrap the plugin in a PluginBufferingAdapter
- * permitting the host to provide audio input using any block
- * size, with no overlap, regardless of the plugin's preferred
- * block size (suitable for hosts that read from non-seekable
- * streaming media, for example). This adapter introduces some
- * run-time overhead and also changes the semantics of the plugin
- * slightly (see the PluginBufferingAdapter header documentation
- * for details).
- *
- * ADAPT_ALL_SAFE - Perform all available adaptations that are
- * meaningful for the plugin and "safe". Currently this means to
- * ADAPT_INPUT_DOMAIN if the plugin wants FrequencyDomain input;
- * ADAPT_CHANNEL_COUNT always; and ADAPT_BUFFER_SIZE never.
- *
- * ADAPT_ALL - Perform all available adaptations that are
- * meaningful for the plugin.
- *
- * See PluginInputDomainAdapter, PluginChannelAdapter and
- * PluginBufferingAdapter for more details of the classes that the
- * loader may use if these flags are set.
- */
- enum AdapterFlags {
-
- ADAPT_INPUT_DOMAIN = 0x01,
- ADAPT_CHANNEL_COUNT = 0x02,
- ADAPT_BUFFER_SIZE = 0x04,
-
- ADAPT_ALL_SAFE = 0x03,
-
- ADAPT_ALL = 0xff
- };
-
- /**
- * Load a Vamp plugin, given its identifying key. If the plugin
- * could not be loaded, returns 0.
- *
- * The returned plugin should be deleted (using the standard C++
- * delete keyword) after use.
- *
- * \param adapterFlags a bitwise OR of the values in the AdapterFlags
- * enumeration, indicating under which circumstances an adapter should be
- * used to wrap the original plugin. If adapterFlags is 0, no
- * optional adapters will be used. Otherwise, the returned plugin
- * may be of an adapter class type which will behave identically
- * to the original plugin, apart from any particular features
- * implemented by the adapter itself.
- *
- * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter
- */
- Plugin *loadPlugin(PluginKey key,
- float inputSampleRate,
- int adapterFlags = 0);
-
- /**
- * Given a Vamp plugin library name and plugin identifier, return
- * the corresponding plugin key in a form suitable for passing in to
- * loadPlugin().
- */
- PluginKey composePluginKey(std::string libraryName,
- std::string identifier);
-
- /**
- * Return the category hierarchy for a Vamp plugin, given its
- * identifying key.
- *
- * If the plugin has no category information, return an empty
- * hierarchy.
- *
- * \see PluginCategoryHierarchy
- */
- PluginCategoryHierarchy getPluginCategory(PluginKey plugin);
-
- /**
- * Return the file path of the dynamic library from which the
- * given plugin will be loaded (if available).
- */
- std::string getLibraryPathForPlugin(PluginKey plugin);
-
-protected:
- PluginLoader();
- virtual ~PluginLoader();
-
- class Impl;
- Impl *m_impl;
-
- static PluginLoader *m_instance;
-};
-
-}
-
-}
-
-#endif
-
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.cpp b/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.cpp
deleted file mode 100644
index dcbdf5b..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#include "PluginWrapper.h"
-
-namespace Vamp {
-
-namespace HostExt {
-
-class PluginRateExtractor : public Plugin
-{
-public:
- PluginRateExtractor() : Plugin(0) { }
- float getRate() const { return m_inputSampleRate; }
-};
-
-PluginWrapper::PluginWrapper(Plugin *plugin) :
- Plugin(((PluginRateExtractor *)plugin)->getRate()),
- m_plugin(plugin)
-{
-}
-
-PluginWrapper::~PluginWrapper()
-{
- delete m_plugin;
-}
-
-bool
-PluginWrapper::initialise(size_t channels, size_t stepSize, size_t blockSize)
-{
- return m_plugin->initialise(channels, stepSize, blockSize);
-}
-
-void
-PluginWrapper::reset()
-{
- m_plugin->reset();
-}
-
-Plugin::InputDomain
-PluginWrapper::getInputDomain() const
-{
- return m_plugin->getInputDomain();
-}
-
-unsigned int
-PluginWrapper::getVampApiVersion() const
-{
- return m_plugin->getVampApiVersion();
-}
-
-std::string
-PluginWrapper::getIdentifier() const
-{
- return m_plugin->getIdentifier();
-}
-
-std::string
-PluginWrapper::getName() const
-{
- return m_plugin->getName();
-}
-
-std::string
-PluginWrapper::getDescription() const
-{
- return m_plugin->getDescription();
-}
-
-std::string
-PluginWrapper::getMaker() const
-{
- return m_plugin->getMaker();
-}
-
-int
-PluginWrapper::getPluginVersion() const
-{
- return m_plugin->getPluginVersion();
-}
-
-std::string
-PluginWrapper::getCopyright() const
-{
- return m_plugin->getCopyright();
-}
-
-PluginBase::ParameterList
-PluginWrapper::getParameterDescriptors() const
-{
- return m_plugin->getParameterDescriptors();
-}
-
-float
-PluginWrapper::getParameter(std::string parameter) const
-{
- return m_plugin->getParameter(parameter);
-}
-
-void
-PluginWrapper::setParameter(std::string parameter, float value)
-{
- m_plugin->setParameter(parameter, value);
-}
-
-PluginBase::ProgramList
-PluginWrapper::getPrograms() const
-{
- return m_plugin->getPrograms();
-}
-
-std::string
-PluginWrapper::getCurrentProgram() const
-{
- return m_plugin->getCurrentProgram();
-}
-
-void
-PluginWrapper::selectProgram(std::string program)
-{
- m_plugin->selectProgram(program);
-}
-
-size_t
-PluginWrapper::getPreferredStepSize() const
-{
- return m_plugin->getPreferredStepSize();
-}
-
-size_t
-PluginWrapper::getPreferredBlockSize() const
-{
- return m_plugin->getPreferredBlockSize();
-}
-
-size_t
-PluginWrapper::getMinChannelCount() const
-{
- return m_plugin->getMinChannelCount();
-}
-
-size_t PluginWrapper::getMaxChannelCount() const
-{
- return m_plugin->getMaxChannelCount();
-}
-
-Plugin::OutputList
-PluginWrapper::getOutputDescriptors() const
-{
- return m_plugin->getOutputDescriptors();
-}
-
-Plugin::FeatureSet
-PluginWrapper::process(const float *const *inputBuffers, RealTime timestamp)
-{
- return m_plugin->process(inputBuffers, timestamp);
-}
-
-Plugin::FeatureSet
-PluginWrapper::getRemainingFeatures()
-{
- return m_plugin->getRemainingFeatures();
-}
-
-}
-
-}
-
diff --git a/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.h b/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.h
deleted file mode 100644
index d5ec1da..0000000
--- a/libs/vamp-sdk/vamp-sdk/hostext/PluginWrapper.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
-/*
- Vamp
-
- An API for audio analysis and feature extraction plugins.
-
- Centre for Digital Music, Queen Mary, University of London.
- Copyright 2006-2007 Chris Cannam and QMUL.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
- ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the names of the Centre for
- Digital Music; Queen Mary, University of London; and Chris Cannam
- shall not be used in advertising or otherwise to promote the sale,
- use or other dealings in this Software without prior written
- authorization.
-*/
-
-#ifndef _VAMP_PLUGIN_WRAPPER_H_
-#define _VAMP_PLUGIN_WRAPPER_H_
-
-#include <vamp-sdk/Plugin.h>
-
-namespace Vamp {
-
-namespace HostExt {
-
-/**
- * \class PluginWrapper PluginWrapper.h <vamp-sdk/hostext/PluginWrapper.h>
- *
- * PluginWrapper is a simple base class for adapter plugins. It takes
- * a pointer to a "to be wrapped" Vamp plugin on construction, and
- * provides implementations of all the Vamp plugin methods that simply
- * delegate through to the wrapped plugin. A subclass can therefore
- * override only the methods that are meaningful for the particular
- * adapter.
- *
- * \note This class was introduced in version 1.1 of the Vamp plugin SDK.
- */
-
-class PluginWrapper : public Plugin
-{
-public:
- virtual ~PluginWrapper();
-
- bool initialise(size_t channels, size_t stepSize, size_t blockSize);
- void reset();
-
- InputDomain getInputDomain() const;
-
- unsigned int getVampApiVersion() const;
- std::string getIdentifier() const;
- std::string getName() const;
- std::string getDescription() const;
- std::string getMaker() const;
- int getPluginVersion() const;
- std::string getCopyright() const;
-
- ParameterList getParameterDescriptors() const;
- float getParameter(std::string) const;
- void setParameter(std::string, float);
-
- ProgramList getPrograms() const;
- std::string getCurrentProgram() const;
- void selectProgram(std::string);
-
- size_t getPreferredStepSize() const;
- size_t getPreferredBlockSize() const;
-
- size_t getMinChannelCount() const;
- size_t getMaxChannelCount() const;
-
- OutputList getOutputDescriptors() const;
-
- FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
-
- FeatureSet getRemainingFeatures();
-
-protected:
- PluginWrapper(Plugin *plugin); // I take ownership of plugin
- Plugin *m_plugin;
-};
-
-}
-
-}
-
-#endif
diff --git a/libs/vamp-sdk/vamp-sdk/plugguard.h b/libs/vamp-sdk/vamp-sdk/plugguard.h
new file mode 100644
index 0000000..311dd48
--- /dev/null
+++ b/libs/vamp-sdk/vamp-sdk/plugguard.h
@@ -0,0 +1,98 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_SDK_PLUGGUARD_H_
+#define _VAMP_SDK_PLUGGUARD_H_
+
+/**
+ * Normal usage should be:
+ *
+ * - Plugins include vamp-sdk/Plugin.h or vamp-sdk/PluginBase.h.
+ * These files include this header, which specifies an appropriate
+ * namespace for the plugin classes to avoid any risk of conflict
+ * with non-plugin class implementations in the host on load.
+ *
+ * - Hosts include vamp-hostsdk/Plugin.h, vamp-hostsdk/PluginBase.h,
+ * vamp-hostsdk/PluginHostAdapter, vamp-hostsdk/PluginLoader.h etc.
+ * These files include vamp-hostsdk/hostguard.h, which makes a note
+ * that we are in a host. A file such as vamp-hostsdk/Plugin.h
+ * then simply includes vamp-sdk/Plugin.h, and this guard header
+ * takes notice of the fact that it has been included from a host
+ * and leaves the plugin namespace unset.
+ *
+ * Problems will occur when a host includes files directly from the
+ * vamp-sdk directory. There are two reasons this might happen:
+ * mistake, perhaps owing to ignorance of the fact that this isn't
+ * allowed (particularly since it was the normal mechanism in v1 of
+ * the SDK); and a wish to incorporate plugin code directly into the
+ * host rather than having to load it.
+ *
+ * What if the host does include a vamp-sdk header by mistake? We can
+ * catch it if it's included before something from vamp-hostsdk. If
+ * it's included after something from vamp-hostsdk, it will work OK
+ * anyway. The remaining problem case is where nothing from
+ * vamp-hostsdk is included in the same file. We can't catch that.
+ */
+
+#ifndef _VAMP_IN_HOSTSDK
+
+#define _VAMP_IN_PLUGINSDK 1
+
+#ifdef _VAMP_NO_PLUGIN_NAMESPACE
+#define _VAMP_SDK_PLUGSPACE_BEGIN(h)
+#define _VAMP_SDK_PLUGSPACE_END(h)
+#else
+#ifdef _VAMP_PLUGIN_IN_HOST_NAMESPACE
+#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \
+ namespace _VampHost {
+
+#define _VAMP_SDK_PLUGSPACE_END(h) \
+ } \
+ using namespace _VampHost;
+#else
+#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \
+ namespace _VampPlugin {
+
+#define _VAMP_SDK_PLUGSPACE_END(h) \
+ } \
+ using namespace _VampPlugin;
+#endif
+#endif
+
+#endif
+
+#endif
+
diff --git a/libs/vamp-sdk/vamp-sdk/vamp-sdk.h b/libs/vamp-sdk/vamp-sdk/vamp-sdk.h
new file mode 100644
index 0000000..3ac2f8b
--- /dev/null
+++ b/libs/vamp-sdk/vamp-sdk/vamp-sdk.h
@@ -0,0 +1,46 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Vamp
+
+ An API for audio analysis and feature extraction plugins.
+
+ Centre for Digital Music, Queen Mary, University of London.
+ Copyright 2006 Chris Cannam.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the names of the Centre for
+ Digital Music; Queen Mary, University of London; and Chris Cannam
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written
+ authorization.
+*/
+
+#ifndef _VAMP_SDK_SINGLE_INCLUDE_H_
+#define _VAMP_SDK_SINGLE_INCLUDE_H_
+
+#include "PluginBase.h"
+#include "Plugin.h"
+#include "RealTime.h"
+
+#endif
+
+
diff --git a/libs/vamp-sdk/vamp/vamp.h b/libs/vamp-sdk/vamp/vamp.h
index 4f0145a..08a83ee 100644
--- a/libs/vamp-sdk/vamp/vamp.h
+++ b/libs/vamp-sdk/vamp/vamp.h
@@ -50,7 +50,7 @@ extern "C" {
* See also the vampApiVersion field in the plugin descriptor, and the
* hostApiVersion argument to the vampGetPluginDescriptor function.
*/
-#define VAMP_API_VERSION 1
+#define VAMP_API_VERSION 2
/**
* C language API for Vamp plugins.
@@ -160,6 +160,15 @@ typedef struct _VampOutputDescriptor
"Resolution" of result, if sampleType is vampVariableSampleRate. */
float sampleRate;
+ /** 1 if the returned results for this output are known to have a
+ duration field.
+
+ This field is new in Vamp API version 2; it must not be tested
+ for plugins that report an older API version in their plugin
+ descriptor.
+ */
+ int hasDuration;
+
} VampOutputDescriptor;
typedef struct _VampFeature
@@ -184,13 +193,46 @@ typedef struct _VampFeature
} VampFeature;
+typedef struct _VampFeatureV2
+{
+ /** 1 if the feature has a duration. */
+ int hasDuration;
+
+ /** Seconds component of duratiion. */
+ int durationSec;
+
+ /** Nanoseconds component of duration. */
+ int durationNsec;
+
+} VampFeatureV2;
+
+typedef union _VampFeatureUnion
+{
+ // sizeof(featureV1) >= sizeof(featureV2) for backward compatibility
+ VampFeature v1;
+ VampFeatureV2 v2;
+
+} VampFeatureUnion;
+
typedef struct _VampFeatureList
{
/** Number of features in this feature list. */
unsigned int featureCount;
- /** Features in this feature list. May be NULL if featureCount is zero. */
- VampFeature *features;
+ /** Features in this feature list. May be NULL if featureCount is
+ zero.
+
+ If present, this array must contain featureCount feature
+ structures for a Vamp API version 1 plugin, or 2*featureCount
+ feature unions for a Vamp API version 2 plugin.
+
+ The features returned by an API version 2 plugin must consist
+ of the same feature structures as in API version 1 for the
+ first featureCount array elements, followed by featureCount
+ unions that contain VampFeatureV2 structures (or NULL pointers
+ if no V2 feature structures are present).
+ */
+ VampFeatureUnion *features;
} VampFeatureList;
@@ -289,7 +331,7 @@ typedef struct _VampPluginDescriptor
handle, or releaseOutputDescriptor for this descriptor. Host
must call releaseOutputDescriptor after use. */
VampOutputDescriptor *(*getOutputDescriptor)(VampPluginHandle,
- unsigned int);
+ unsigned int);
/** Destroy a descriptor for a feature output. */
void (*releaseOutputDescriptor)(VampOutputDescriptor *);
@@ -312,6 +354,7 @@ typedef struct _VampPluginDescriptor
} VampPluginDescriptor;
+
/** Get the descriptor for a given plugin index in this library.
Return NULL if the index is outside the range of valid indices for
this plugin library.
@@ -324,10 +367,16 @@ typedef struct _VampPluginDescriptor
field for its actual compatibility level, the host should be able
to do the right thing with it: use it if possible, discard it
otherwise.
+
+ This is the only symbol that a Vamp plugin actually needs to
+ export from its shared object; all others can be hidden. See the
+ accompanying documentation for notes on how to achieve this with
+ certain compilers.
*/
const VampPluginDescriptor *vampGetPluginDescriptor
(unsigned int hostApiVersion, unsigned int index);
+
/** Function pointer type for vampGetPluginDescriptor. */
typedef const VampPluginDescriptor *(*VampGetPluginDescriptorFunction)
(unsigned int, unsigned int);
diff --git a/vst/SConscript b/vst/SConscript
index 544854e..f3492b8 100644
--- a/vst/SConscript
+++ b/vst/SConscript
@@ -16,6 +16,7 @@ winmain.c
#libs/fst/fstinfofile.o
#libs/fst/vstwin.o
#libs/fst/vsti.o
+#libs/fst/thread.o
"""
)
diff --git a/vst/ardevst b/vst/ardevst
index cc21cde..fe33373 100755
--- a/vst/ardevst
+++ b/vst/ardevst
@@ -1,5 +1,6 @@
#!/bin/sh
-export ARDOUR_PATH=../gtk2_ardour/icons:../gtk2_ardour/pixmaps:../gtk2_ardour
-export LD_LIBRARY_PATH=../gtk2_ardour:../libs/surfaces/control_protocol:../libs/ardour:../libs/midi++2:../libs/pbd:../libs/soundtouch:../libs/gtkmm2ext:../libs/sigc++2:../libs/glibmm2:../libs/gtkmm2/atk:../libs/gtkmm2/pango:../libs/gtkmm2/gdk:../libs/gtkmm2/gtk:../libs/libgnomecanvasmm:../libs/libsndfile:../libs/appleutility:../libs/rubberband:../libs/vamp-sdk:$LD_LIBRARY_PATH
-export GTK_PATH=$PWD/../libs/clearlooks:~/.ardour2
-exec wine ./ardour_vst.exe.so "$@"
+
+. ../gtk2_ardour/ardev_common.sh
+
+export LD_LIBRARY_PATH=gtk2_ardour:$LD_LIBRARY_PATH
+wine ./vst/ardour_vst.exe.so "$@"
diff --git a/vst/winmain.c b/vst/winmain.c
index c2ad5fc..3721932 100644
--- a/vst/winmain.c
+++ b/vst/winmain.c
@@ -1,17 +1,12 @@
#include <limits.h>
#include <unistd.h>
#include <stdio.h>
+#include <fst.h>
extern int ardour_main(int argc, char* argv[]);
int
main (int argc, char* argv[])
{
- // call the user specified main function
-
- int result = ardour_main(argc, argv);
- printf ("main returned %d\n", result);
-
- return result;
-
+ return ardour_main(argc, argv);
}
--
ardour Debian packaging
More information about the pkg-multimedia-commits
mailing list