/packages/gtk2/src/gtk2x11/scripts/gdkx11_h2pas.sh

https://github.com/slibre/freepascal · Shell · 48 lines · 36 code · 8 blank · 4 comment · 1 complexity · 677badd271ad3724cc099f6fdc4bdf72 MD5 · raw file

  1. #!/usr/bin/env bash
  2. #set -x
  3. set -e
  4. # make sure, we are in the right directory
  5. cd ../scripts
  6. CHeaderDir=../c_src/x11
  7. PascalIncDir=../include
  8. HTmpFile=temp.h
  9. PasTmpFile=temp.inc
  10. HFiles=$(ls $CHeaderDir/*.h)
  11. for HFile in $HFiles; do
  12. echo $HFile
  13. ShortHFile=$(echo $HFile | sed -e 's#.*/##')
  14. ShortPascalFile=$(echo $ShortHFile | sed -e 's#\.h$#.inc#')
  15. echo $ShortPascalFile
  16. PascalFile=$PascalIncDir/$ShortPascalFile
  17. cat $HFile | sed \
  18. -e 's#G_BEGIN_DECLS##g' \
  19. -e 's#G_END_DECLS##g' \
  20. -e 's#G_CONST_RETURN#const#g' \
  21. > $HTmpFile
  22. h2pas -d -e -i -p -t -o $PasTmpFile $HTmpFile
  23. cat $PasTmpFile | sed \
  24. -e 's#\bT\(gint\)\b#\1#g' \
  25. -e 's#\bT\(guint\)\b#\1#g' \
  26. -e 's#\bT\(gboolean\)\b#\1#g' \
  27. -e 's#\bT\(glong\)\b#\1#g' \
  28. -e 's#\bT\(gulong\)\b#\1#g' \
  29. -e 's#\bT\(gchar\)\b#\1#g' \
  30. -e 's#\bT\(guchar\)\b#\1#g' \
  31. -e 's#\bT\(gshort\)\b#\1#g' \
  32. -e 's#\bT\(gushort\)\b#\1#g' \
  33. -e 's#\bT\(gfloat\)\b#\1#g' \
  34. -e 's#\bT\(gdouble\)\b#\1#g' \
  35. -e 's#\bT\(gpointer\)\b#\1#g' \
  36. -e 's#\bT\(gconstpointer\)\b#\1#g' \
  37. -e 's#\bT\(guint32\)\b#\1#g' \
  38. > $PascalFile
  39. done
  40. # end.