diff --git a/configure b/configure
index c07cc8eea..892178134 100755
--- a/configure
+++ b/configure
@@ -6933,6 +6933,7 @@ fi
# this file shouldn't be built at if no libflac is available
LIBFLAC_LOCAL_OPTOBJS="ondemand/ODDecodeFlacTask.o"
LIBFLAC_LOCAL_CONFIG_SUBDIRS="lib-src/libflac"
+ LIBFLAC_LOCAL_CONFIGURE_ARGS="--disable-xmms-plugin --disable-doxygen-docs --disable-thorough-tests"
{ $as_echo "$as_me:${as_lineno-$LINENO}: FLAC libraries are available in this source tree" >&5
$as_echo "$as_me: FLAC libraries are available in this source tree" >&6;}
diff --git a/lib-src/audacity-patches.txt b/lib-src/audacity-patches.txt
index a4a552a54..2c52c0e93 100644
--- a/lib-src/audacity-patches.txt
+++ b/lib-src/audacity-patches.txt
@@ -33,6 +33,7 @@ Patches: mac-asm-fixes.patch. Fixes build on OS X Intel 10.4 by creating and
object format for Mach-O. Needs to go upstream
flac-lite.diff. Remove all the things not included in Audacity SVN from
the build system so it will build with 50% less stuff
+ libflac++-static.patch. Adds static build of libFLAC++.
Upstream version: 1.3.0
libid3tag
diff --git a/lib-src/libflac/libflac++-static.patch b/lib-src/libflac/libflac++-static.patch
new file mode 100644
index 000000000..2199720bf
--- /dev/null
+++ b/lib-src/libflac/libflac++-static.patch
@@ -0,0 +1,134 @@
+diff -wruN orig/flac-1.3.0/src/libFLAC++/Makefile.am libflac/src/libFLAC++/Makefile.am
+--- orig/flac-1.3.0/src/libFLAC++/Makefile.am 2013-05-26 04:30:33.928201800 -0500
++++ libflac/src/libFLAC++/Makefile.am 2013-10-24 10:54:15.000000000 -0500
+@@ -30,6 +30,7 @@
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ lib_LTLIBRARIES = libFLAC++.la
++noinst_LTLIBRARIES = libFLAC++-static.la
+
+ m4datadir = $(datadir)/aclocal
+ m4data_DATA = libFLAC++.m4
+@@ -52,3 +53,6 @@
+ metadata.cpp \
+ stream_decoder.cpp \
+ stream_encoder.cpp
++
++libFLAC___static_la_LIBADD = $(LOCAL_EXTRA_LIBADD)
++libFLAC___static_la_SOURCES = $(libFLAC___la_SOURCES)
+diff -wruN orig/flac-1.3.0/src/libFLAC++/Makefile.in libflac/src/libFLAC++/Makefile.in
+--- orig/flac-1.3.0/src/libFLAC++/Makefile.in 2013-05-27 03:11:57.399952300 -0500
++++ libflac/src/libFLAC++/Makefile.in 2013-10-24 10:54:32.000000000 -0500
+@@ -131,14 +131,18 @@
+ }
+ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" \
+ "$(DESTDIR)$(pkgconfigdir)"
+-LTLIBRARIES = $(lib_LTLIBRARIES)
++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
++libFLAC___static_la_DEPENDENCIES =
++am__objects_1 = metadata.lo stream_decoder.lo stream_encoder.lo
++am_libFLAC___static_la_OBJECTS = $(am__objects_1)
++libFLAC___static_la_OBJECTS = $(am_libFLAC___static_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
+ libFLAC___la_DEPENDENCIES = ../libFLAC/libFLAC.la
+ am_libFLAC___la_OBJECTS = metadata.lo stream_decoder.lo \
+ stream_encoder.lo
+ libFLAC___la_OBJECTS = $(am_libFLAC___la_OBJECTS)
+-AM_V_lt = $(am__v_lt_@AM_V@)
+-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+-am__v_lt_0 = --silent
+ libFLAC___la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libFLAC___la_LDFLAGS) $(LDFLAGS) -o $@
+@@ -168,8 +172,8 @@
+ AM_V_GEN = $(am__v_GEN_@AM_V@)
+ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+ am__v_GEN_0 = @echo " GEN " $@;
+-SOURCES = $(libFLAC___la_SOURCES)
+-DIST_SOURCES = $(libFLAC___la_SOURCES)
++SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
++DIST_SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
+ am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+@@ -330,6 +334,7 @@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ lib_LTLIBRARIES = libFLAC++.la
++noinst_LTLIBRARIES = libFLAC++-static.la
+ m4datadir = $(datadir)/aclocal
+ m4data_DATA = libFLAC++.m4
+ pkgconfigdir = $(libdir)/pkgconfig
+@@ -351,6 +356,8 @@
+ stream_decoder.cpp \
+ stream_encoder.cpp
+
++libFLAC___static_la_LIBADD = $(LOCAL_EXTRA_LIBADD)
++libFLAC___static_la_SOURCES = $(libFLAC___la_SOURCES)
+ all: all-am
+
+ .SUFFIXES:
+@@ -419,6 +426,17 @@
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++ test "$$dir" != "$$p" || dir=.; \
++ echo "rm -f \"$${dir}/so_locations\""; \
++ rm -f "$${dir}/so_locations"; \
++ done
++libFLAC++-static.la: $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_DEPENDENCIES) $(EXTRA_libFLAC___static_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_LIBADD) $(LIBS)
+ libFLAC++.la: $(libFLAC___la_OBJECTS) $(libFLAC___la_DEPENDENCIES) $(EXTRA_libFLAC___la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libFLAC___la_LINK) -rpath $(libdir) $(libFLAC___la_OBJECTS) $(libFLAC___la_LIBADD) $(LIBS)
+
+@@ -626,7 +644,7 @@
+ clean: clean-am
+
+ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+- mostlyclean-am
++ clean-noinstLTLIBRARIES mostlyclean-am
+
+ distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+@@ -698,20 +716,20 @@
+ .MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+- clean-libLTLIBRARIES clean-libtool ctags distclean \
+- distclean-compile distclean-generic distclean-libtool \
+- distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-dvi \
+- install-dvi-am install-exec install-exec-am install-html \
+- install-html-am install-info install-info-am \
+- install-libLTLIBRARIES install-m4dataDATA install-man \
+- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
+- install-ps-am install-strip installcheck installcheck-am \
+- installdirs maintainer-clean maintainer-clean-generic \
+- mostlyclean mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+- uninstall-am uninstall-libLTLIBRARIES uninstall-m4dataDATA \
+- uninstall-pkgconfigDATA
++ clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
++ ctags distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags distdir dvi dvi-am html \
++ html-am info info-am install install-am install-data \
++ install-data-am install-dvi install-dvi-am install-exec \
++ install-exec-am install-html install-html-am install-info \
++ install-info-am install-libLTLIBRARIES install-m4dataDATA \
++ install-man install-pdf install-pdf-am install-pkgconfigDATA \
++ install-ps install-ps-am install-strip installcheck \
++ installcheck-am installdirs maintainer-clean \
++ maintainer-clean-generic mostlyclean mostlyclean-compile \
++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++ tags uninstall uninstall-am uninstall-libLTLIBRARIES \
++ uninstall-m4dataDATA uninstall-pkgconfigDATA
+
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/lib-src/libflac/src/libFLAC++/Makefile.am b/lib-src/libflac/src/libFLAC++/Makefile.am
index 51b8cf8ed..4a9eb2212 100644
--- a/lib-src/libflac/src/libFLAC++/Makefile.am
+++ b/lib-src/libflac/src/libFLAC++/Makefile.am
@@ -30,6 +30,7 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
lib_LTLIBRARIES = libFLAC++.la
+noinst_LTLIBRARIES = libFLAC++-static.la
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC++.m4
@@ -52,3 +53,6 @@ libFLAC___la_SOURCES = \
metadata.cpp \
stream_decoder.cpp \
stream_encoder.cpp
+
+libFLAC___static_la_LIBADD = $(LOCAL_EXTRA_LIBADD)
+libFLAC___static_la_SOURCES = $(libFLAC___la_SOURCES)
diff --git a/lib-src/libflac/src/libFLAC++/Makefile.in b/lib-src/libflac/src/libFLAC++/Makefile.in
index 7513d2ab5..a659ae5b1 100644
--- a/lib-src/libflac/src/libFLAC++/Makefile.in
+++ b/lib-src/libflac/src/libFLAC++/Makefile.in
@@ -131,14 +131,18 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" \
"$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+libFLAC___static_la_DEPENDENCIES =
+am__objects_1 = metadata.lo stream_decoder.lo stream_encoder.lo
+am_libFLAC___static_la_OBJECTS = $(am__objects_1)
+libFLAC___static_la_OBJECTS = $(am_libFLAC___static_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
libFLAC___la_DEPENDENCIES = ../libFLAC/libFLAC.la
am_libFLAC___la_OBJECTS = metadata.lo stream_decoder.lo \
stream_encoder.lo
libFLAC___la_OBJECTS = $(am_libFLAC___la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
libFLAC___la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libFLAC___la_LDFLAGS) $(LDFLAGS) -o $@
@@ -168,8 +172,8 @@ am__v_CXXLD_0 = @echo " CXXLD " $@;
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libFLAC___la_SOURCES)
-DIST_SOURCES = $(libFLAC___la_SOURCES)
+SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
+DIST_SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -330,6 +334,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
lib_LTLIBRARIES = libFLAC++.la
+noinst_LTLIBRARIES = libFLAC++-static.la
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC++.m4
pkgconfigdir = $(libdir)/pkgconfig
@@ -351,6 +356,8 @@ libFLAC___la_SOURCES = \
stream_decoder.cpp \
stream_encoder.cpp
+libFLAC___static_la_LIBADD = $(LOCAL_EXTRA_LIBADD)
+libFLAC___static_la_SOURCES = $(libFLAC___la_SOURCES)
all: all-am
.SUFFIXES:
@@ -419,6 +426,17 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libFLAC++-static.la: $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_DEPENDENCIES) $(EXTRA_libFLAC___static_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(CXXLINK) $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_LIBADD) $(LIBS)
libFLAC++.la: $(libFLAC___la_OBJECTS) $(libFLAC___la_DEPENDENCIES) $(EXTRA_libFLAC___la_DEPENDENCIES)
$(AM_V_CXXLD)$(libFLAC___la_LINK) -rpath $(libdir) $(libFLAC___la_OBJECTS) $(libFLAC___la_LIBADD) $(LIBS)
@@ -626,7 +644,7 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
+ clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -698,20 +716,20 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-m4dataDATA \
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-m4dataDATA install-man \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-libLTLIBRARIES uninstall-m4dataDATA \
- uninstall-pkgconfigDATA
+ clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
+ ctags distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-m4dataDATA \
+ install-man install-pdf install-pdf-am install-pkgconfigDATA \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-libLTLIBRARIES \
+ uninstall-m4dataDATA uninstall-pkgconfigDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/lib-src/libflac/src/libFLAC/ia32/nasm.h b/lib-src/libflac/src/libFLAC/ia32/nasm.h
index abd01c418..5d9f387c8 100644
--- a/lib-src/libflac/src/libFLAC/ia32/nasm.h
+++ b/lib-src/libflac/src/libFLAC/ia32/nasm.h
@@ -50,6 +50,11 @@
%idefine code_section section .text align=16
%idefine data_section section .data align=32
%idefine bss_section section .bss align=32
+%elifdef OBJ_FORMAT_macho
+ %define FLAC__PUBLIC_NEEDS_UNDERSCORE
+ %idefine code_section section .text
+ %idefine data_section section .data
+ %idefine bss_section section .bss
%else
%error unsupported object format!
%endif
diff --git a/m4/audacity_checklib_libflac.m4 b/m4/audacity_checklib_libflac.m4
index 121176d6d..bfae89d5a 100644
--- a/m4/audacity_checklib_libflac.m4
+++ b/m4/audacity_checklib_libflac.m4
@@ -63,7 +63,8 @@ AC_DEFUN([AUDACITY_CHECKLIB_LIBFLAC], [
# this file shouldn't be built at if no libflac is available
LIBFLAC_LOCAL_OPTOBJS="ondemand/ODDecodeFlacTask.o"
LIBFLAC_LOCAL_CONFIG_SUBDIRS="lib-src/libflac"
-
+ LIBFLAC_LOCAL_CONFIGURE_ARGS="--disable-xmms-plugin --disable-doxygen-docs --disable-thorough-tests"
+
AC_MSG_NOTICE([FLAC libraries are available in this source tree])
else
AC_MSG_NOTICE([FLAC libraries are NOT available in this source tree])
diff --git a/win/Projects/libflac/libflac.vcproj b/win/Projects/libflac/libflac.vcproj
index 1d57080c5..230a2ab18 100644
--- a/win/Projects/libflac/libflac.vcproj
+++ b/win/Projects/libflac/libflac.vcproj
@@ -346,6 +346,10 @@
RelativePath="..\..\..\lib-src\libflac\src\libFLAC\stream_encoder_framing.c"
>
+
+