home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / forms / fdfix.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  1998-04-23  |  2KB  |  80 lines

  1. #! /bin/sh
  2.  
  3. if [ "$1" = "$2" ]; then
  4.     echo "Input and Output file can not be the same."
  5.     exit 1
  6. fi
  7.  
  8. if [ -f $2 ]; then
  9.     echo "Output file already exists, overwrite?"
  10.     read
  11.     if [ "$REPLY" != "y" ];    then
  12.         exit 0
  13.     fi
  14. fi
  15.  
  16. if [ ! -f $1 ]; then
  17.     echo "Input file does not exist, can not continue"
  18.     exit 1
  19. fi
  20.  
  21. # If there is a patch for the outputfile patch the input file with it.
  22. if [ -f "$2.patch" ]; then
  23.     echo "Patching $1 with $2.patch"
  24.     patch -s $1 < "$2.patch"
  25. fi
  26.  
  27. echo "// File modified by fdfix.sh for use by lyx (with xforms 0.81) and gettext" > $2
  28. echo "#include <config.h>" >> $2
  29. echo "#include \"lyx_gui_misc.h\"" >> $2
  30. echo "#include \"gettext.h\"" >> $2
  31. echo >> $2
  32.  
  33. # The commands to sed does this:
  34. #
  35. # -e 's/#include "forms\.h"/#include FORMS_H_LOCATION/'
  36. #
  37. #  Replace "forms.h" by FORMS_H_LOCATION in #include directives. This
  38. #  macro is defined in config.h and is either <forms.h> or
  39. #  <X11/forms.h>. 
  40. #
  41. # -e '/fl_/ s/".[^|]*"/_(&)/'
  42. #  
  43. #  For all lines containing "fl_" and a string _not_ containging |,
  44. #  replace the string with _(string)
  45. #
  46. # -e '/shortcut/ s/".*[|].*"/scex(_(&))/'
  47. #
  48. #  For all lines containing "shortcut" and a string containing |, replace
  49. #  the string with scex(_(string))
  50. #
  51. # -e '/fl_add/ s/".*[|].*"/idex(_(&))/'
  52. #  For all lines containing "fl_add" and a string containing |, replace
  53. #  the string with idex(_(string))
  54. #
  55. # -e '/fl_add/ s/idex("\(.*\)").*$/&fl_set_button_shortcut(obj,"\1",1);/'
  56. # For all lines containing "fl_add" and a string containing |, add the
  57. # shortcut command after the end of this line
  58. #
  59.  
  60. # Dropped the two below in 0.13.x (Lgb)
  61. #
  62. # -e 's/fl_set_object_lcolor/fl_set_object_lcol/' 
  63. #
  64. #  For all lines replace "fl_set_object_lcolor" with "fl_set_object_lcol"
  65. #  This will be removed when we don't support 0.81
  66. #
  67. # -e 's/fdui->.*->fdui = fdui/\/\/&/'
  68. #
  69. #  For all lines replace "fdui->...->fdui" with "//fdui->...->fdui"
  70. #  This will be removed when we don't support 0.81
  71.  
  72.  
  73.  
  74. cat $1 | sed \
  75. -e 's/#include "forms\.h"/#include FORMS_H_LOCATION/' \
  76. -e '/fl_/ s/".[^|]*"/_(&)/' \
  77. -e '/shortcut/ s/".*[|].*"/scex(_(&))/' \
  78. -e '/fl_add/ s/".*[|].*"/idex(_(&))/' \
  79. -e '/fl_add/ s/idex(\(.*\)").*$/&fl_set_button_shortcut(obj,scex(\1")),1);/' >> $2
  80.