Introduce a new internal header since that doesn't seem to exist yet. Or maybe I should rename xf86atomic.h instead. --- xf86drm-internals.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) create mode 100644 xf86drm-internals.h
diff --git a/xf86drm-internals.h b/xf86drm-internals.h new file mode 100644 index 0000000..bf5ff51 --- /dev/null +++ b/xf86drm-internals.h @@ -0,0 +1,12 @@ +#ifndef XF86DRM_INTERNALS_H +#define XF86DRM_INTERNALS_H + +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define _DRM_HIDDEN __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +# define _DRM_HIDDEN __hidden +#else /* not gcc >= 4 and not Sun Studio >= 8 */ +# define _X_HIDDEN +#endif /* GNUC >= 4 */ + +#endif
--- libkms/internal.h | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/libkms/internal.h b/libkms/internal.h index 63122d1..efb781a 100644 --- a/libkms/internal.h +++ b/libkms/internal.h @@ -30,6 +30,7 @@ #define INTERNAL_H_
#include "libkms.h" +#include "xf86drm-internals.h"
struct kms_driver { @@ -62,12 +63,12 @@ struct kms_bo unsigned handle; };
-int linux_create(int fd, struct kms_driver **out); +_DRM_HIDDEN int linux_create(int fd, struct kms_driver **out);
-int vmwgfx_create(int fd, struct kms_driver **out); +_DRM_HIDDEN int vmwgfx_create(int fd, struct kms_driver **out);
-int intel_create(int fd, struct kms_driver **out); +_DRM_HIDDEN int intel_create(int fd, struct kms_driver **out);
-int nouveau_create(int fd, struct kms_driver **out); +_DRM_HIDDEN int nouveau_create(int fd, struct kms_driver **out);
#endif
Also drop prototypes for nonexistent functions. --- radeon/bof.h | 41 +++++++++++++++++++---------------------- 1 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/radeon/bof.h b/radeon/bof.h index 014affb..239c98a 100644 --- a/radeon/bof.h +++ b/radeon/bof.h @@ -28,6 +28,7 @@
#include <stdio.h> #include <stdint.h> +#include "xf86drm-internals.h"
#define BOF_TYPE_STRING 0 #define BOF_TYPE_NULL 1 @@ -51,34 +52,30 @@ typedef struct bof { long offset; } bof_t;
-extern int bof_file_flush(bof_t *root); -extern bof_t *bof_file_new(const char *filename); -extern int bof_object_dump(bof_t *object, const char *filename); - /* object */ -extern bof_t *bof_object(void); -extern bof_t *bof_object_get(bof_t *object, const char *keyname); -extern int bof_object_set(bof_t *object, const char *keyname, bof_t *value); +extern _DRM_HIDDEN bof_t *bof_object(void); +extern _DRM_HIDDEN bof_t *bof_object_get(bof_t *object, const char *keyname); +extern _DRM_HIDDEN int bof_object_set(bof_t *object, const char *keyname, bof_t *value); /* array */ -extern bof_t *bof_array(void); -extern int bof_array_append(bof_t *array, bof_t *value); -extern bof_t *bof_array_get(bof_t *bof, unsigned i); -extern unsigned bof_array_size(bof_t *bof); +extern _DRM_HIDDEN bof_t *bof_array(void); +extern _DRM_HIDDEN int bof_array_append(bof_t *array, bof_t *value); +extern _DRM_HIDDEN bof_t *bof_array_get(bof_t *bof, unsigned i); +extern _DRM_HIDDEN unsigned bof_array_size(bof_t *bof); /* blob */ -extern bof_t *bof_blob(unsigned size, void *value); -extern unsigned bof_blob_size(bof_t *bof); -extern void *bof_blob_value(bof_t *bof); +extern _DRM_HIDDEN bof_t *bof_blob(unsigned size, void *value); +extern _DRM_HIDDEN unsigned bof_blob_size(bof_t *bof); +extern _DRM_HIDDEN void *bof_blob_value(bof_t *bof); /* string */ -extern bof_t *bof_string(const char *value); +extern _DRM_HIDDEN bof_t *bof_string(const char *value); /* int32 */ -extern bof_t *bof_int32(int32_t value); -extern int32_t bof_int32_value(bof_t *bof); +extern _DRM_HIDDEN bof_t *bof_int32(int32_t value); +extern _DRM_HIDDEN int32_t bof_int32_value(bof_t *bof); /* common functions */ -extern void bof_decref(bof_t *bof); -extern void bof_incref(bof_t *bof); -extern bof_t *bof_load_file(const char *filename); -extern int bof_dump_file(bof_t *bof, const char *filename); -extern void bof_print(bof_t *bof); +extern _DRM_HIDDEN void bof_decref(bof_t *bof); +extern _DRM_HIDDEN void bof_incref(bof_t *bof); +extern _DRM_HIDDEN bof_t *bof_load_file(const char *filename); +extern _DRM_HIDDEN int bof_dump_file(bof_t *bof, const char *filename); +extern _DRM_HIDDEN void bof_print(bof_t *bof);
static inline int bof_is_object(bof_t *bof){return (bof->type == BOF_TYPE_OBJECT);} static inline int bof_is_blob(bof_t *bof){return (bof->type == BOF_TYPE_BLOB);}
On Thu, Jun 10, 2010 at 23:50:09 +0200, Julien Cristau wrote:
Introduce a new internal header since that doesn't seem to exist yet. Or maybe I should rename xf86atomic.h instead.
xf86drm-internals.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) create mode 100644 xf86drm-internals.h
Sorry, forgot to include it in Makefile.am. If the rest of the series is acked I can resend with the fix.
Cheers, Julien
Julien Cristau [2010-06-10 23:50]:
Introduce a new internal header since that doesn't seem to exist yet. Or maybe I should rename xf86atomic.h instead.
xf86drm-internals.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) create mode 100644 xf86drm-internals.h
diff --git a/xf86drm-internals.h b/xf86drm-internals.h new file mode 100644 index 0000000..bf5ff51 --- /dev/null +++ b/xf86drm-internals.h @@ -0,0 +1,12 @@ +#ifndef XF86DRM_INTERNALS_H +#define XF86DRM_INTERNALS_H
+#if defined(__GNUC__) && (__GNUC__ >= 4) +# define _DRM_HIDDEN __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +# define _DRM_HIDDEN __hidden +#else /* not gcc >= 4 and not Sun Studio >= 8 */ +# define _X_HIDDEN
^^^^^^^^^ This should say _DRM_HIDDEN, I guess :)
+#endif /* GNUC >= 4 */
+#endif
1.7.1
Regards, Tilman
dri-devel@lists.freedesktop.org