Change how win32/common/config.h is updated
authorDavid Schleef <ds@schleef.org>
Thu, 26 Feb 2009 04:26:05 +0000 (20:26 -0800)
committerDavid Schleef <ds@schleef.org>
Thu, 26 Feb 2009 04:28:07 +0000 (20:28 -0800)
Generate win32/common/config.h-new directly from config.h.in,
using shell variables in configure and some hard-coded information.
Change top-level makefile so that 'make win32-update' copies the
generated file to win32/common/config.h, which we keep in source
control.  It's kept in source control so that the git tree is
buildable from VS.

This change is similar to the one recently applied to GStreamer,
except that it adds a few -base specific defines.

Makefile.am
configure.ac
win32/common/config.h.in [deleted file]

index 6187b00ef65e7c3979a2fde21c57eaa45345c1a7..d3b5266c94124fc45dc008e2a5cd62c9b75c5f58 100644 (file)
@@ -60,6 +60,8 @@ WIN32_COPY = \
 
 win32-update:
        for f in $(WIN32_COPY); do cp $$f win32/common;done
+       cp $(top_builddir)/win32/common/config.h-new \
+           $(top_srcdir)/win32/common/config.h
 
 include $(top_srcdir)/common/coverage/lcov.mak
 
index 03aacdaaff3b819eff3952af35b204b4342ad06a..c7554bfb8d35c14f352df3bea0aab886333e9e83 100644 (file)
@@ -754,7 +754,6 @@ gst-libs/gst/tag/Makefile
 gst-libs/gst/pbutils/Makefile
 gst-libs/gst/video/Makefile
 tools/Makefile
-win32/common/config.h
 pkgconfig/Makefile
 pkgconfig/gstreamer-audio.pc
 pkgconfig/gstreamer-audio-uninstalled.pc
@@ -805,6 +804,48 @@ common/Makefile
 common/m4/Makefile
 m4/Makefile
 )
+
+dnl Create the config.h file for Visual Studio builds
+dnl Beware of spaces and /'s in some of the shell variable contents.
+sed \
+    -e 's/.*config.h.in.*autoheader.*/\/* Autogenerated config.h created for win32 Visual Studio builds *\/\n\n\/* PREFIX -- specifically added for Windows for easier moving *\/\n#define PREFIX "C:\\\\gstreamer"\n\n#define GST_INSTALL_PLUGINS_HELPER PREFIX "\\\\libexec\\\\gst-install-plugins-helper.exe"/' \
+    -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
+    -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
+    -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
+    -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
+    -e 's/.* GST_MAJORMINOR$/#define GST_MAJORMINOR "'$GST_MAJORMINOR'"/' \
+    -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
+    -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
+    -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
+    -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \
+    -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \
+    -e 's/.* HAVE_LIBXML2$/#define HAVE_LIBXML2 1/' \
+    -e 's/.* HAVE_PROCESS_H$/#define HAVE_PROCESS_H 1/' \
+    -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
+    -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
+    -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
+    -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
+    -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
+    -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
+    -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
+    -e 's/.* LIBDIR$/#ifdef _DEBUG\n#  define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n#  define LIBDIR PREFIX "\\\\lib"\n#endif/' \
+    -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
+    -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
+    -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
+    -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
+    -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
+    -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
+    -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
+    -e 's/.* PLUGINDIR$/#ifdef _DEBUG\n#  define PLUGINDIR PREFIX "\\\\debug\\\\lib\\\\gstreamer-0.10"\n#else\n#  define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-0.10"\n#endif/' \
+    -e 's/.* USE_BINARY_REGISTRY$/#define USE_BINARY_REGISTRY/' \
+    -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
+    -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directaudiosink\"/" \
+    -e "s/.* DEFAULT_VIDEOSINK$/#define DEFAULT_VIDEOSINK \"directdrawsink\"/" \
+    -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
+    config.h.in >win32/common/config.h-new
+
+
+
 AC_OUTPUT
 
 AG_GST_OUTPUT_PLUGINS
diff --git a/win32/common/config.h.in b/win32/common/config.h.in
deleted file mode 100644 (file)
index a43d2fe..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-/* This copy of config.h.in is specifically for win32 Visual Studio builds */
-
-/* defined if cdda headers are in a cdda/ directory */
-#undef CDPARANOIA_HEADERS_IN_DIR
-
-/* Default audio sink */
-#define DEFAULT_AUDIOSINK "directaudiosink"
-
-/* Default audio source */
-#undef DEFAULT_AUDIOSRC
-
-/* Default video sink */
-#define DEFAULT_VIDEOSINK "directdrawsink"
-
-/* Default video source */
-#undef DEFAULT_VIDEOSRC
-
-/* Default visualizer */
-#define DEFAULT_VISUALIZER "@DEFAULT_VISUALIZER@"
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
-
-/* gettext package name */
-#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
-
-/* Defined if gcov is enabled to force a rebuild due to config.h changing */
-#undef GST_GCOV_ENABLED
-
-/* Default errorlevel to use */
-#undef GST_LEVEL_DEFAULT
-
-/* GStreamer license */
-#define GST_LICENSE "@GST_LICENSE@"
-
-/* package name in plugins */
-#define GST_PACKAGE_NAME "@GST_PACKAGE_NAME@"
-
-/* package origin */
-#define GST_PACKAGE_ORIGIN "@GST_PACKAGE_ORIGIN@"
-
-/* support for features: gstalsa */
-#undef HAVE_ALSA
-
-/* support for features: cdparanoia */
-#undef HAVE_CDPARANOIA
-
-/* Define if the host CPU is an Alpha */
-#undef HAVE_CPU_ALPHA
-
-/* Define if the host CPU is an ARM */
-#undef HAVE_CPU_ARM
-
-/* Define if the host CPU is a HPPA */
-#undef HAVE_CPU_HPPA
-
-/* Define if the host CPU is an x86 */
-#undef HAVE_CPU_I386
-
-/* Define if the host CPU is a IA64 */
-#undef HAVE_CPU_IA64
-
-/* Define if the host CPU is a M68K */
-#undef HAVE_CPU_M68K
-
-/* Define if the host CPU is a MIPS */
-#undef HAVE_CPU_MIPS
-
-/* Define if the host CPU is a PowerPC */
-#undef HAVE_CPU_PPC
-
-/* Define if the host CPU is a S390 */
-#undef HAVE_CPU_S390
-
-/* Define if the host CPU is a SPARC */
-#undef HAVE_CPU_SPARC
-
-/* Define if the host CPU is a x86_64 */
-#undef HAVE_CPU_X86_64
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
-   */
-#undef HAVE_DCGETTEXT
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* support for features: */
-#undef HAVE_EXTERNAL
-
-/* FIONREAD ioctl found in sys/filio.h */
-#undef HAVE_FIONREAD_IN_SYS_FILIO
-
-/* FIONREAD ioctl found in sys/ioclt.h */
-#undef HAVE_FIONREAD_IN_SYS_IOCTL
-
-/* defined if the compiler implements __func__ */
-#undef HAVE_FUNC
-
-/* defined if the compiler implements __FUNCTION__ */
-#undef HAVE_FUNCTION
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* support for features: gnomevfssrc */
-#undef HAVE_GNOME_VFS
-
-/* support for features: v4lsrc v4lmjpegsrc v4lmjpegsink */
-#undef HAVE_GST_V4L
-
-/* Define if you have the iconv() function. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `asound' library (-lasound). */
-#undef HAVE_LIBASOUND
-
-/* support for features: libvisual */
-#undef HAVE_LIBVISUAL
-
-/* Define if you have C99's lrint function. */
-#undef HAVE_LRINT
-
-/* Define if you have C99's lrintf function. */
-#undef HAVE_LRINTF
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* support for features: oggdemux oggmux */
-#undef HAVE_OGG
-
-/* support for features: pango */
-#undef HAVE_PANGO
-
-/* defined if the compiler implements __PRETTY_FUNCTION__ */
-#undef HAVE_PRETTY_FUNCTION
-
-/* Define if RDTSC is available */
-#undef HAVE_RDTSC
-
-/* Define to 1 if you have the <regex.h> header file. */
-#undef HAVE_REGEX_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* support for features: theoradec theoraenc */
-#undef HAVE_THEORA
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if valgrind should be used */
-#undef HAVE_VALGRIND
-
-/* support for features: vorbisenc vorbisdec */
-#undef HAVE_VORBIS
-
-/* defined if vorbis_synthesis_restart is present */
-#undef HAVE_VORBIS_SYNTHESIS_RESTART
-
-/* support for features: ximagesink */
-#undef HAVE_X
-
-/* support for features: xshm */
-#undef HAVE_XSHM
-
-/* support for features: xvimagesink */
-#undef HAVE_XVIDEO
-
-/* gettext locale dir */
-#define LOCALEDIR PREFIX "\\share\\locale"
-
-/* Name of package */
-#define PACKAGE "@PACKAGE@"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "@PACKAGE_NAME@"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "@PACKAGE_STRING@"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "@PACKAGE_TARNAME@"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "@PACKAGE_VERSION@"
-
-/* directory where plugins are located */
-#undef PLUGINDIR
-
-/* The size of a `char', as computed by sizeof. */
-#undef SIZEOF_CHAR
-
-/* The size of a `int', as computed by sizeof. */
-#undef SIZEOF_INT
-
-/* The size of a `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of a `short', as computed by sizeof. */
-#undef SIZEOF_SHORT
-
-/* The size of a `void*', as computed by sizeof. */
-#undef SIZEOF_VOIDP
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#define VERSION "@VERSION@"
-
-/* Define to 1 if your processor stores words with the most significant byte
-   first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-
-/* PREFIX - specifically added for Windows for easier moving (same as in core) */
-#define PREFIX "C:\\gstreamer"
-
-#define GST_INSTALL_PLUGINS_HELPER PREFIX "\\libexec\\gst-install-plugins-helper.exe"
-