summaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-10-30 10:21:47 +0000
committerRichard W.M. Jones <rjones@redhat.com>2012-10-30 10:32:57 +0000
commit72e19deee75317368a211234950fad11b8d381f1 (patch)
tree92a6afe55b0671c8c4634a244396e0fa36a1c383 /generator
parent8c66ba455d196225767b45706af6702c18cd180c (diff)
downloadlibguestfs-72e19deee75317368a211234950fad11b8d381f1.tar.gz
libguestfs-72e19deee75317368a211234950fad11b8d381f1.tar.xz
libguestfs-72e19deee75317368a211234950fad11b8d381f1.zip
lib: Force visibility default on public actions.
This is currently done implicitly because of the linker script. However in order to do symbol versioning, we will have to do this explicitly at each definition instead.
Diffstat (limited to 'generator')
-rw-r--r--generator/c.ml14
1 files changed, 10 insertions, 4 deletions
diff --git a/generator/c.ml b/generator/c.ml
index 484b4f9a..798a3a32 100644
--- a/generator/c.ml
+++ b/generator/c.ml
@@ -711,7 +711,7 @@ and generate_client_free_structs () =
List.iter (
fun (typ, _) ->
- pr "void\n";
+ pr "GUESTFS_DLL_PUBLIC void\n";
pr "guestfs_free_%s (struct guestfs_%s *x)\n" typ typ;
pr "{\n";
pr " xdr_free ((xdrproc_t) xdr_guestfs_int_%s, (char *) x);\n" typ;
@@ -719,7 +719,7 @@ and generate_client_free_structs () =
pr "}\n";
pr "\n";
- pr "void\n";
+ pr "GUESTFS_DLL_PUBLIC void\n";
pr "guestfs_free_%s_list (struct guestfs_%s_list *x)\n" typ typ;
pr "{\n";
pr " xdr_free ((xdrproc_t) xdr_guestfs_int_%s_list, (char *) x);\n" typ;
@@ -1115,10 +1115,12 @@ trace_send_line (guestfs_h *g)
if optargs = [] then
generate_prototype ~extern:false ~semicolon:false ~newline:true
~handle:"g" ~prefix:"guestfs_"
+ ~dll_public:true
c_name style
else
generate_prototype ~extern:false ~semicolon:false ~newline:true
~handle:"g" ~prefix:"guestfs_" ~suffix:"_argv" ~optarg_proto:Argv
+ ~dll_public:true
c_name style;
pr "{\n";
@@ -1191,11 +1193,15 @@ trace_send_line (guestfs_h *g)
(* Generate the action stub. *)
if optargs = [] then
generate_prototype ~extern:false ~semicolon:false ~newline:true
- ~handle:"g" ~prefix:"guestfs_" c_name style
+ ~handle:"g" ~prefix:"guestfs_"
+ ~dll_public:true
+ c_name style
else
generate_prototype ~extern:false ~semicolon:false ~newline:true
~handle:"g" ~prefix:"guestfs_" ~suffix:"_argv"
- ~optarg_proto:Argv c_name style;
+ ~optarg_proto:Argv
+ ~dll_public:true
+ c_name style;
pr "{\n";