diff options
| -rw-r--r-- | tasks/ffi.rake | 2 | ||||
| -rwxr-xr-x | tools/extract-api.sh | 5 | ||||
| -rwxr-xr-x | tools/genruby.rb | 6 | 
3 files changed, 9 insertions, 4 deletions
| diff --git a/tasks/ffi.rake b/tasks/ffi.rake index 7ab3ffb..0ade669 100644 --- a/tasks/ffi.rake +++ b/tasks/ffi.rake @@ -12,7 +12,7 @@ namespace :ffi do      #      desc "generate ffi bindings"      task :ruby do -        sh 'ruby ./tools/genruby.rb' +        sh './tools/genruby.rb'      end  end  # diff --git a/tools/extract-api.sh b/tools/extract-api.sh index 29844aa..254a693 100755 --- a/tools/extract-api.sh +++ b/tools/extract-api.sh @@ -37,6 +37,11 @@ for header in \      "${INCLUDE}/elementary-0/Elementary.h" \      ; do      # +    if [ ! -e "$header" ]; then +        echo "$header not found, we won't generate bindings for this header." +    continue +    fi +    #      DIR=$(dirname $header)      FILE=$(basename $header)      # diff --git a/tools/genruby.rb b/tools/genruby.rb index fafa6a9..4177447 100755 --- a/tools/genruby.rb +++ b/tools/genruby.rb @@ -157,7 +157,7 @@ def gen_enums path, indent      r = []      open(path+'-enums','r').readlines.each do |l|          l.strip! -        if not l=~/(typedef enum(?: \w+)?) {([A-Z0-9_ (\s*=\s*-?[\d+]),]+)} (\w+);/ +        if not l=~/(typedef enum(?: \w+)?) \{([-A-Z0-9_=, ]+)\} (\w+);/              r << indent+"# #{l}\n#{indent}# FIXME"              next          end @@ -239,12 +239,12 @@ def gen_functions path, indent      r  end  # -Dir.mkdir lib_path unless Dir.exists? lib_path +Dir.mkdir lib_path unless (File.exists? lib_path)  #  libraries.collect do |header,module_name,fct_prefix,lib, output|      base = File.join path, 'api', header      output = File.join lib_path, output -    Dir.mkdir File.dirname output unless Dir.exists? File.dirname output +    Dir.mkdir File.dirname(output) unless File.exists? File.dirname(output)      printf "%-60s", "parse #{base}-*"      r = [lib, output, module_name, fct_prefix ]      print "enums, " | 
