swigCppFileGen.rb 790 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env ruby
  2. require 'tempfile'
  3. swig_dir = File.dirname(__FILE__)
  4. cpp_source_file = swig_dir + '/../ext/rtruckboris/rtruckboris.cpp'
  5. swig_file = File.open(cpp_source_file)
  6. tmp1 = Tempfile.new('tmp1')
  7. tmp2 = Tempfile.new('tmp2')
  8. is_include_part = false
  9. swig_file.each_line do |line|
  10. is_include_part = true if line.chomp =~ /.*\-\-SWIGINCLUDE.*/
  11. if is_include_part
  12. tmp2.puts(line)
  13. else
  14. tmp1.puts(line)
  15. end
  16. is_include_part = false if line.chomp =~ /.*\-\-ENDSWIGINCLUDE.*/
  17. end
  18. tmp1.flush
  19. tmp1.seek(0, :SET)
  20. tmp2.flush
  21. tmp2.seek(0, :SET)
  22. swig_file.close
  23. swig_file = File.open(cpp_source_file, 'w')
  24. tmp2.each_line do |line|
  25. swig_file.puts(line)
  26. end
  27. tmp1.each_line do |line|
  28. swig_file.puts(line)
  29. end
  30. swig_file.close
  31. tmp1.close
  32. tmp1.unlink
  33. tmp2.close
  34. tmp2.unlink