Index: /libmpc/trunk/Makefile.am
===================================================================
--- /libmpc/trunk/Makefile.am	(revision 444)
+++ /libmpc/trunk/Makefile.am	(revision 445)
@@ -1,3 +1,27 @@
 AUTOMAKE_OPTIONS = foreign
-SUBDIRS = include libmpcdec libmpcenc libmpcpsy libwavformat mpcenc mpc2sv8 \
-	mpcchap mpccut mpcdec mpcgain wavcmp
+
+ACLOCAL_AMFLAGS = -I m4
+
+EXTRA_DIST = CMakeLists.txt libmpc.kdevelop docs win32
+
+if MPC_CHAP
+  MPCCHAP_DIR = mpcchap
+endif
+if MPC_GAIN
+  MPCGAIN_DIR = mpcgain
+endif
+
+SUBDIRS = \
+include \
+libmpcdec \
+libmpcenc \
+libmpcpsy \
+libwavformat \
+mpcenc \
+mpc2sv8 \
+mpccut \
+mpcdec \
+wavcmp \
+$(MPCCHAP_DIR) \
+$(MPCGAIN_DIR)
+
Index: /libmpc/trunk/configure.in
===================================================================
--- /libmpc/trunk/configure.in	(revision 444)
+++ /libmpc/trunk/configure.in	(revision 445)
@@ -1,13 +1,16 @@
-AC_INIT(configure.in)
-AC_CONFIG_AUX_DIR(config)
-
-AM_CONFIG_HEADER(include/config.h)
-AM_INIT_AUTOMAKE(libmpcs, 0.1)
+AC_INIT([libmpcs], [0.1])
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR([libmpcdec/mpc_reader.c])
+AM_CONFIG_HEADER([include/config.h])
+AM_INIT_AUTOMAKE
 
 AC_LANG_C
 AC_PROG_CC
-AM_PROG_LIBTOOL
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
 
-AC_CHECK_HEADERS(replaygain/gain_analysis.h)
+AC_CHECK_HEADERS([replaygain/gain_analysis.h])
+AM_CONDITIONAL([MPC_GAIN], [test "x$ac_cv_header_replaygain_gain_analysis_h" = xyes])
 
 AC_CANONICAL_HOST()
@@ -24,5 +27,25 @@
 AC_SUBST([EXTRALIBS])
 
-AC_OUTPUT(Makefile include/Makefile libmpcdec/Makefile libmpcenc/Makefile \
-	libmpcpsy/Makefile libwavformat/Makefile mpc2sv8/Makefile mpcchap/Makefile mpccut/Makefile \
-	mpcdec/Makefile mpcenc/Makefile mpcgain/Makefile wavcmp/Makefile)
+AC_ARG_ENABLE([mpcchap], [AS_HELP_STRING([--enable-mpcchap], [enable building mpcchap])])
+AM_CONDITIONAL([MPC_CHAP], [test "x$enable_mpcchap" = xyes])
+
+
+CHECK_VISIBILITY
+
+AC_CONFIG_FILES([
+Makefile
+include/Makefile
+libmpcdec/Makefile
+libmpcenc/Makefile
+libmpcpsy/Makefile
+libwavformat/Makefile
+mpc2sv8/Makefile
+mpcchap/Makefile
+mpccut/Makefile
+mpcdec/Makefile
+mpcenc/Makefile
+mpcgain/Makefile
+wavcmp/Makefile
+])
+
+AC_OUTPUT
Index: /libmpc/trunk/include/mpc/mpc_types.h
===================================================================
--- /libmpc/trunk/include/mpc/mpc_types.h	(revision 444)
+++ /libmpc/trunk/include/mpc/mpc_types.h	(revision 445)
@@ -127,8 +127,19 @@
 #endif
 
-#ifdef __GNUC__
-# define MPC_API __attribute__ ((visibility("default")))
-#else
-# define MPC_API
+/* DLL building support on win32 hosts */
+#ifndef MPC_API
+#   ifdef DLL_EXPORT      /* defined by libtool (if required) */
+#       define MPC_API __declspec(dllexport)
+#   endif
+#   ifdef MPC_DLL_IMPORT  /* define if linking with this dll */
+#       define MPC_API __declspec(dllimport)
+#   endif
+#   ifndef MPC_API     /* static linking or !_WIN32 */
+#     if defined(__GNUC__) && (__GNUC__ >= 4)
+#       define MPC_API __attribute__ ((visibility("default")))
+#     else
+#       define MPC_API
+#     endif
+#   endif
 #endif
 
Index: /libmpc/trunk/libmpcdec/Makefile.am
===================================================================
--- /libmpc/trunk/libmpcdec/Makefile.am	(revision 444)
+++ /libmpc/trunk/libmpcdec/Makefile.am	(revision 445)
@@ -1,3 +1,9 @@
-INCLUDES = -I$(top_srcdir)/include
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
 
 common_sources = ../common/crc32.c \
@@ -8,8 +14,6 @@
 libmpcdec_la_SOURCES = huffman.c mpc_decoder.c mpc_reader.c \
 	requant.c	streaminfo.c synth_filter.c mpc_bits_reader.c mpc_demux.c \
+	mpc_bits_reader.h huffman.h decoder.h internal.h requant.h mpcdec_math.h \
 	$(common_sources)
 
 libmpcdec_la_LDFLAGS = -no-undefined -version-info 7:0:1
-
-noinst_HEADERS = mpc_bits_reader.h huffman.h decoder.h internal.h requant.h mpcdec_math.h
-AM_CFLAGS = -fpic -fvisibility=hidden
Index: /libmpc/trunk/libmpcenc/Makefile.am
===================================================================
--- /libmpc/trunk/libmpcenc/Makefile.am	(revision 444)
+++ /libmpc/trunk/libmpcenc/Makefile.am	(revision 445)
@@ -1,9 +1,11 @@
-INCLUDES = -I$(top_srcdir)/include/
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
 noinst_LIBRARIES = libmpcenc.a
-libmpcenc_a_SOURCES = analy_filter.c bitstream.c encode_sv7.c huffsv7.c quant.c
-
-
-noinst_HEADERS = libmpcenc.h
-
-
+libmpcenc_a_SOURCES = analy_filter.c bitstream.c encode_sv7.c huffsv7.c quant.c libmpcenc.h
Index: /libmpc/trunk/libmpcpsy/Makefile.am
===================================================================
--- /libmpc/trunk/libmpcpsy/Makefile.am	(revision 444)
+++ /libmpc/trunk/libmpcpsy/Makefile.am	(revision 445)
@@ -1,6 +1,12 @@
-INCLUDES = -I$(top_srcdir)/include/
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
 noinst_LIBRARIES = libmpcpsy.a
 libmpcpsy_a_SOURCES = ans.c cvd.c fft4g.c fft_routines.c psy.c psy_tab.c \
-	profile.c
-noinst_HEADERS = libmpcpsy.h
+	profile.c libmpcpsy.h
Index: /libmpc/trunk/libwavformat/Makefile.am
===================================================================
--- /libmpc/trunk/libwavformat/Makefile.am	(revision 444)
+++ /libmpc/trunk/libwavformat/Makefile.am	(revision 445)
@@ -1,5 +1,10 @@
-INCLUDES = 
+EXTRA_DIST = CMakeLists.txt
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
 noinst_LIBRARIES = libwavformat.a
-noinst_HEADERS = libwaveformat.h
-libwavformat_a_SOURCES = input.c output.c
+
+libwavformat_a_SOURCES = input.c output.c libwaveformat.h
Index: /libmpc/trunk/mpc2sv8/Makefile.am
===================================================================
--- /libmpc/trunk/mpc2sv8/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpc2sv8/Makefile.am	(revision 445)
@@ -1,3 +1,9 @@
-INCLUDES = -I$(top_srcdir)/include
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
 
 common_sources = ../common/crc32.c
Index: /libmpc/trunk/mpcchap/Makefile.am
===================================================================
--- /libmpc/trunk/mpcchap/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpcchap/Makefile.am	(revision 445)
@@ -1,12 +1,19 @@
+EXTRA_DIST = CMakeLists.txt
+
 bin_PROGRAMS = mpcchap
 
 common_sources = ../common/tags.c ../common/crc32.c
 
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
-mpcchap_SOURCES = dictionary.c iniparser.c mpcchap.c $(common_sources)
+mpcchap_SOURCES = dictionary.c iniparser.c mpcchap.c $(common_sources) \
+dictionary.h iniparser.h
+
 mpcchap_LDADD = $(top_builddir)/libmpcdec/libmpcdec.la \
 	$(top_builddir)/libmpcenc/libmpcenc.a \
 	-lm -lcuefile
-
-noinst_HEADERS = dictionary.h iniparser.h
Index: /libmpc/trunk/mpccut/Makefile.am
===================================================================
--- /libmpc/trunk/mpccut/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpccut/Makefile.am	(revision 445)
@@ -1,3 +1,9 @@
-INCLUDES = -I$(top_srcdir)/include
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
 
 common_sources = ../common/crc32.c
Index: /libmpc/trunk/mpcdec/Makefile.am
===================================================================
--- /libmpc/trunk/mpcdec/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpcdec/Makefile.am	(revision 445)
@@ -1,3 +1,10 @@
-INCLUDES = -I$(top_srcdir)/libwavformat -I$(top_srcdir)/include
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/libwavformat -I$(top_srcdir)/include
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
 bin_PROGRAMS = mpcdec
Index: /libmpc/trunk/mpcenc/Makefile.am
===================================================================
--- /libmpc/trunk/mpcenc/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpcenc/Makefile.am	(revision 445)
@@ -1,2 +1,8 @@
+EXTRA_DIST = CMakeLists.txt
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 bin_PROGRAMS = mpcenc
 
@@ -7,16 +13,17 @@
 
 # set the include path found by configure
-INCLUDES = -I$(top_srcdir)/libmpcenc -I$(top_srcdir)/libmpcpsy \
-	-I$(top_srcdir)/include/ $(all_includes)
+AM_CPPFLAGS = -I$(top_srcdir)/libmpcenc -I$(top_srcdir)/libmpcpsy \
+	-I$(top_srcdir)/include/ $(all_includes) \
+	-DTRUE=1 -DFALSE=0
 
 # the library search path.
 mpcenc_LDFLAGS = $(all_libraries)
 mpcenc_SOURCES = keyboard.c mpcenc.c pipeopen.c stderr.c wave_in.c winmsg.c \
-	$(common_sources)
+	$(common_sources) \
+	mpcenc.h predict.h config.h
+
 mpcenc_LDADD = -lm \
 	$(EXTRALIBS) \
 	$(top_builddir)/libmpcpsy/libmpcpsy.a \
 	$(top_builddir)/libmpcenc/libmpcenc.a
-AM_CFLAGS = -DTRUE=1 -DFALSE=0
 
-noinst_HEADERS = mpcenc.h predict.h config.h
Index: /libmpc/trunk/mpcgain/Makefile.am
===================================================================
--- /libmpc/trunk/mpcgain/Makefile.am	(revision 444)
+++ /libmpc/trunk/mpcgain/Makefile.am	(revision 445)
@@ -1,2 +1,12 @@
+EXTRA_DIST = CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+AM_CFLAGS = -ffast-math
+
+if HAVE_VISIBILITY
+  AM_CFLAGS += -fvisibility=hidden
+endif
+
 
 METASOURCES = AUTO
@@ -5,4 +15,2 @@
 	$(top_builddir)/libmpcdec/libmpcdec.la
 mpcgain_SOURCES = mpcgain.c
-INCLUDES = -I$(top_srcdir)/include
-AM_CFLAGS = -ffast-math
Index: /libmpc/trunk/wavcmp/Makefile.am
===================================================================
--- /libmpc/trunk/wavcmp/Makefile.am	(revision 444)
+++ /libmpc/trunk/wavcmp/Makefile.am	(revision 445)
@@ -1,3 +1,8 @@
-INCLUDES = -I$(top_srcdir)/libwavformat
+AM_CPPFLAGS = -I$(top_srcdir)/libwavformat
+
+if HAVE_VISIBILITY
+  AM_CFLAGS = -fvisibility=hidden
+endif
+
 METASOURCES = AUTO
 bin_PROGRAMS = wavcmp
