diff options
Diffstat (limited to 'enc/encinit.c.erb')
-rw-r--r-- | enc/encinit.c.erb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/enc/encinit.c.erb b/enc/encinit.c.erb new file mode 100644 index 0000000000..17b94027d0 --- /dev/null +++ b/enc/encinit.c.erb @@ -0,0 +1,26 @@ +<%# -*- encoding: UTF-8 -*-%> +/* Copyright 2012 Google Inc. Some Rights Reserved. + * Author: [email protected] (Yugui Sonoda) + */ +#include <stdio.h> + +#define init(func, name) { \ + extern void func(void); \ + ruby_init_ext(name, func); \ +} + +void ruby_init_ext(const char *name, void (*init)(void)); + +void Init_enc() +{ + <% ENCS.each do |enc| -%> + init(Init_<%= enc %>, "enc/<%= enc %>.so"); + <% end -%> + + init(Init_transdb, "enc/trans/transdb.so"); + <% TRANS.each do |trans| -%> + <% next if trans == 'trans/transdb' -%> + init(Init_trans_<%= File.basename trans %>, "enc/<%= trans %>.so"); + <% end -%> +} +<%# vim: set fenc=utf-8 ft=eruby sw=2 : -%> |