X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=generator%2Fwrappi_main.ml;h=ffcef607d205e0f0785371aa6af06646ffc17d30;hb=d7cffea375760c27ae43e1ea09af43be3926454d;hp=42b21406d5bfc9f2a8aa065adc212d2d4adf9d34;hpb=ff4a39eec0c3d92b7fda62341e0734e07d5d2987;p=wrappi.git diff --git a/generator/wrappi_main.ml b/generator/wrappi_main.ml index 42b2140..ffcef60 100644 --- a/generator/wrappi_main.ml +++ b/generator/wrappi_main.ml @@ -19,17 +19,32 @@ open Unix open Printf +open Wrappi_utils +open Wrappi_types open Wrappi_pr -let eps = Wrappi_globals.get_entry_points () -let nr_eps = List.length eps +let api = Wrappi_accumulator.get_api () +let nr_tds = StringMap.cardinal api.api_typedefs +let nr_ens = StringMap.cardinal api.api_enums +let nr_sds = StringMap.cardinal api.api_structs +let nr_uns = StringMap.cardinal api.api_unions +let nr_eps = StringMap.cardinal api.api_entry_points let dump_and_exit () = - printf "entry points (%d):\n" nr_eps; + printf "typedefs (%d):\n" nr_tds; + iter_typedefs api (fun td -> printf " %s\n" (string_of_typedef td)); + + printf "enums (%d):\n" nr_ens; + iter_enums api (fun en -> printf " %s\n" (string_of_enum en)); + + printf "structs (%d):\n" nr_sds; + iter_structs api (fun sd -> printf " %s\n" (string_of_struct sd)); - List.iter (fun ep -> - printf " %s\n" (Wrappi_types.string_of_entry_point ep) - ) eps; + printf "unions (%d):\n" nr_uns; + iter_unions api (fun un -> printf " %s\n" (string_of_union un)); + + printf "entry points (%d):\n" nr_eps; + iter_entry_points api (fun ep -> printf " %s\n" (string_of_entry_point ep)); exit 0 @@ -70,7 +85,8 @@ let perror msg = function eprintf "%s: %s\n" msg (Printexc.to_string exn) let () = - printf "generator, %d entry points\n" nr_eps; + printf "generator, %d typedefs, %d enums, %d structs, %d unions, %d entry points\n" + nr_tds nr_ens nr_sds nr_uns nr_eps; (* Acquire a lock so parallel builds won't run the generator * simultaneously. It's assumed that ./configure.ac only exists in @@ -96,11 +112,6 @@ Run it from the top source directory using the command perror "lock: configure.ac" exn; exit 1); - (* Create a structure that we'll pass around to each generator function. *) - let api = { - Wrappi_types.api_entry_points = eps - } in - (* Generate code. *) Wrappi_c.generate api;