diff --git a/gst/Makefile.am b/gst/Makefile.am index 8f3a85e29a..c13eb20b18 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -114,6 +114,7 @@ gst_headers = \ gstformat.h \ gstinfo.h \ gstlog.h \ + gstmacros.h \ gstmemchunk.h \ gstpad.h \ gstpipeline.h \ diff --git a/gst/elements/gstmd5sink.h b/gst/elements/gstmd5sink.h index a78976d0c6..2ad4fdb6d4 100644 --- a/gst/elements/gstmd5sink.h +++ b/gst/elements/gstmd5sink.h @@ -58,7 +58,7 @@ struct _GstMD5Sink { guint32 total[2]; guint32 buflen; - gchar buffer[128] __attribute__ ((__aligned__ (__alignof__ (guint32)))); + gchar buffer[128]; /* latest md5 */ guchar md5[16]; diff --git a/gst/gstmacros.h b/gst/gstmacros.h new file mode 100644 index 0000000000..bb4ef66f01 --- /dev/null +++ b/gst/gstmacros.h @@ -0,0 +1,33 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GST_MACROS_H__ +#define __GST_MACROS_H__ + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) +# define GST_GNUC_CONSTRUCTOR \ + __attribute__ ((constructor)) +#else /* !__GNUC__ */ +# define GST_GNUC_CONSTRUCTOR +#endif /* !__GNUC__ */ + + +#endif /* __GST_MACROS_H__ */ + + diff --git a/gst/gstplugin.h b/gst/gstplugin.h index 130d9da6b8..1b7c8590d4 100644 --- a/gst/gstplugin.h +++ b/gst/gstplugin.h @@ -28,6 +28,7 @@ #include #include +#include G_BEGIN_DECLS @@ -80,8 +81,8 @@ GstPluginDesc plugin_desc = { \ #define GST_PLUGIN_DESC_DYNAMIC(major,minor,name,init) #endif #define GST_PLUGIN_DESC_STATIC(major,minor,name,init) \ -static void __attribute__ ((constructor)) \ -_gst_plugin_static_init__ ##init (void) \ +static void GST_GNUC_CONSTRUCTOR \ +_gst_plugin_static_init__ ##init (void) \ { \ static GstPluginDesc plugin_desc_ = { \ major, \ diff --git a/gst/gstprops.h b/gst/gstprops.h index 52de5af755..5c8468f83f 100644 --- a/gst/gstprops.h +++ b/gst/gstprops.h @@ -60,13 +60,9 @@ typedef enum { #define GST_STR_FOURCC(f) (guint32)(((f)[0])|((f)[1]<<8)|((f)[2]<<16)|((f)[3]<<24)) #ifdef G_HAVE_ISO_VARARGS - -#define GST_PROPS_LIST(...) GST_PROPS_LIST_TYPE,__VA_ARGS__,NULL - +# define GST_PROPS_LIST(...) GST_PROPS_LIST_TYPE,__VA_ARGS__,NULL #elif defined(G_HAVE_GNUC_VARARGS) - -#define GST_PROPS_LIST(a...) GST_PROPS_LIST_TYPE,a,NULL - +# define GST_PROPS_LIST(a...) GST_PROPS_LIST_TYPE,a,NULL #endif #define GST_PROPS_GLIST(a) GST_PROPS_GLIST_TYPE,(a) diff --git a/plugins/elements/gstmd5sink.h b/plugins/elements/gstmd5sink.h index a78976d0c6..2ad4fdb6d4 100644 --- a/plugins/elements/gstmd5sink.h +++ b/plugins/elements/gstmd5sink.h @@ -58,7 +58,7 @@ struct _GstMD5Sink { guint32 total[2]; guint32 buflen; - gchar buffer[128] __attribute__ ((__aligned__ (__alignof__ (guint32)))); + gchar buffer[128]; /* latest md5 */ guchar md5[16];