summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2013-09-02 13:40:37 +0100
committerTim-Philipp Müller <tim@centricular.net>2013-09-02 13:40:37 +0100
commit994739332d229a96fdc6bee9932d72349c29c614 (patch)
treeaa0610b43ff334b4602b5ba3a684817b7ca506fa
parentadc17aa87999908bc078d1a52e0f508c2884f867 (diff)
downloadgstreamer-plugins-bad-994739332d229a96fdc6bee9932d72349c29c614.tar.gz
Change how win32/common/config.h is updated
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 and gst-plugins-good. The previous config.h file in -bad was in pretty bad shape, so unlike core and base, I didn't attempt to leave it strictly the same, but fixed it as necessary. Needs testing I cannot do myself. https://bugzilla.gnome.org/show_bug.cgi?id=569015
-rw-r--r--Makefile.am4
-rw-r--r--configure.ac41
-rw-r--r--win32/MANIFEST1
-rw-r--r--win32/common/config.h.in223
4 files changed, 44 insertions, 225 deletions
diff --git a/Makefile.am b/Makefile.am
index 7e25a3958..6188f583a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,6 +35,10 @@ check-torture:
true
endif
+win32-update:
+ cp $(top_builddir)/win32/common/config.h-new \
+ $(top_srcdir)/win32/common/config.h
+
include $(top_srcdir)/common/coverage/lcov.mak
check: check-exports
diff --git a/configure.ac b/configure.ac
index 3c728de3f..580c6efcb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2530,8 +2530,47 @@ pkgconfig/gstreamer-egl.pc
pkgconfig/gstreamer-egl-uninstalled.pc
tools/Makefile
m4/Makefile
-win32/common/config.h
)
+
+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"/' \
+ -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_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
+ -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,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
+ -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 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/.* 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.11"\n#else\n# define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-0.11"\n#endif/' \
+ -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
+ -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
+ -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
+ -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
+ -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
+ -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
+ -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
+ -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
+ -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
+ config.h.in >win32/common/config.h-new
+
AC_OUTPUT
AG_GST_OUTPUT_PLUGINS
diff --git a/win32/MANIFEST b/win32/MANIFEST
index db451256e..c9c97cfc4 100644
--- a/win32/MANIFEST
+++ b/win32/MANIFEST
@@ -1,6 +1,5 @@
win32/MANIFEST
win32/common/config.h
-win32/common/config.h.in
win32/vs6/gst_plugins_bad.dsw
win32/vs6/libgstdshow.dsp
win32/vs6/libgstdshowdecwrapper.dsp
diff --git a/win32/common/config.h.in b/win32/common/config.h.in
deleted file mode 100644
index 40c6f5171..000000000
--- a/win32/common/config.h.in
+++ /dev/null
@@ -1,223 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-/* This copy of config.h.in is specifically for win32 Visual Studio builds */
-
-/* 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@"
-
-/* PREFIX - specifically added for Windows for easier moving */
-#define PREFIX "C:\\gstreamer"
-
-/* Location of registry */
-#define GST_CACHE_DIR PREFIX "\\var\\cache"
-
-/* Defined if gcov is enabled to force a rebuild due to config.h changing */
-#undef GST_GCOV_ENABLED
-
-/* Default errorlevel to use */
-#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR
-
-/* 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@"
-
-/* 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
-
-/* Defined if we have dladdr () */
-#undef HAVE_DLADDR
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `fgetpos' function. */
-#define HAVE_FGETPOS 1
-
-/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
-#undef HAVE_FSEEKO
-
-/* Define to 1 if you have the `fsetpos' function. */
-#define HAVE_FSETPOS 1
-
-/* Define to 1 if you have the `ftello' function. */
-#undef HAVE_FTELLO
-
-/* defined if the compiler implements __func__ */
-#undef HAVE_FUNC
-
-/* defined if the compiler implements __FUNCTION__ */
-#undef HAVE_FUNCTION
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* 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 if libxml2 is available */
-#define HAVE_LIBXML2 1
-
-/* defined if we have makecontext () */
-#undef HAVE_MAKECONTEXT
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* defined if the compiler implements __PRETTY_FUNCTION__ */
-#undef HAVE_PRETTY_FUNCTION
-
-/* Defined if we have register_printf_function () */
-#undef HAVE_PRINTF_EXTENSION
-
-/* Define to 1 if you have the <process.h> header file. */
-#define HAVE_PROCESS_H 1
-
-/* Define if RDTSC is available */
-#undef HAVE_RDTSC
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* 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. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <ucontext.h> header file. */
-#undef HAVE_UCONTEXT_H
-
-/* defined if unaligned memory access works correctly */
-#undef HAVE_UNALIGNED_ACCESS
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if valgrind should be used */
-#undef HAVE_VALGRIND
-
-/* Defined if compiling for Windows */
-#define HAVE_WIN32 1
-
-/* library dir */
-#define LIBDIR PREFIX "\\lib"
-
-/* 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. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* directory where plugins are located */
-#define PLUGINDIR PREFIX "\\lib\\gstreamer-0.10"
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if we should poison deallocated memory */
-#undef USE_POISONING
-
-/* 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
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-#undef _LARGEFILE_SOURCE
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* 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. */
-/* #undef inline */
-
-#define GST_PACKAGE "Gst-plugins-bad"
-#define PACKAGE "gst-plugins-bad"
-#define GST_ORIGIN "gstreamer.freedesktop.org"