win32/gcc : how to avoid need of -fnative-struct



when compiling a win32 app using gcc and win32 gtk DLLs,

you can suppress thefnative-struct option (which isn’t available any more on gcc3.x)

if you replace the contant of gtk/gtkbox.h by this (for version 2.0.6) :

 

#ifndef __GTK_BOX_H__

#define __GTK_BOX_H__

 

 

#include <gdk/gdk.h>

#include <gtk/gtkcontainer.h>

 

 

#ifdef __cplusplus

extern "C" {

#endif /* __cplusplus */

 

 

#define GTK_TYPE_BOX            (gtk_box_get_type ())

#define GTK_BOX(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_BOX, GtkBox))

#define GTK_BOX_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX, GtkBoxClass))

#define GTK_IS_BOX(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_BOX))

#define GTK_IS_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX))

#define GTK_BOX_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_BOX, GtkBoxClass))

 

 

typedef struct _GtkBox        GtkBox;

typedef struct _GtkBoxClass   GtkBoxClass;

typedef struct _GtkBoxChild   GtkBoxChild;

 

struct _GtkBox

{

  struct{

  GtkContainer container;

  GList *children;

  gint16 spacing;

  }

#ifdef __GNUC__

  __attribute__((aligned (4)))

#endif

  ;

  guint homogeneous : 1;

};

 

struct _GtkBoxClass

{

  GtkContainerClass parent_class;

};

 

struct _GtkBoxChild

{

  struct{

  GtkWidget *widget;

  guint16 padding;

  }

#ifdef __GNUC__

  __attribute__((aligned (4)))

#endif

  ;

  guint expand : 1;

  guint fill : 1;

  guint pack : 1;

  guint is_secondary : 1;

};

 

 

GtkType              gtk_box_get_type              (void) G_GNUC_CONST;

void         gtk_box_pack_start           (GtkBox          *box,

                                                           GtkWidget    *child,

                                                           gboolean      expand,

                                                           gboolean      fill,

                                                           guint           padding);

void         gtk_box_pack_end            (GtkBox          *box,

                                                           GtkWidget    *child,

                                                           gboolean      expand,

                                                           gboolean      fill,

                                                           guint           padding);

void         gtk_box_pack_start_defaults (GtkBox      *box,

                                                           GtkWidget    *widget);

void         gtk_box_pack_end_defaults   (GtkBox      *box,

                                                           GtkWidget    *widget);

void         gtk_box_set_homogeneous     (GtkBox                *box,

                                                           gboolean      homogeneous);

gboolean   gtk_box_get_homogeneous     (GtkBox               *box);

void         gtk_box_set_spacing         (GtkBox          *box,

                                                           gint             spacing);

gint       gtk_box_get_spacing         (GtkBox       *box);

void         gtk_box_reorder_child       (GtkBox          *box,

                                                           GtkWidget    *child,

                                                           gint             position);

void         gtk_box_query_child_packing (GtkBox                 *box,

                                                           GtkWidget    *child,

                                                           gboolean     *expand,

                                                           gboolean     *fill,

                                                           guint          *padding,

                                                           GtkPackType  *pack_type);

void         gtk_box_set_child_packing   (GtkBox       *box,

                                                           GtkWidget    *child,

                                                           gboolean      expand,

                                                           gboolean      fill,

                                                           guint           padding,

                                                           GtkPackType   pack_type);

 

 

 

#ifdef __cplusplus

}

#endif /* __cplusplus */

 

 

#endif /* __GTK_BOX_H__ */

 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]