-# The commands to sed does this:
-#
-# -e 's/#include \"forms\.h\"/#include FORMS_H_LOCATION/'
-#
-# Replace "forms.h" by FORMS_H_LOCATION in #include directives. This
-# macro is defined in config.h and is either <forms.h> or
-# <X11/forms.h>.
-#
-# -e "/#include \"form_.*\"/a\\
-# #include \"$classname.h\" "
-#
-# For all lines containing "#include "form_*"", append a line
-# containing the header file of the parent class
-#
-# -e '/fl_/ s/".[^|]*"/_(&)/'
-#
-# For all lines containing "fl_" and a string _not_ containing |,
-# replace the string with _(string)
-#
-# -e '/shortcut/ s/".*[|].*"/scex(_(&))/'
-#
-# For all lines containing "shortcut" and a string containing |, replace
-# the string with scex(_(string))
-#
-# -e '/fl_add/ s/".*[|].*"/idex(_(&))/'
-#
-# For all lines containing "fl_add" and a string containing |, replace
-# the string with idex(_(string))
-#
-# -e '/fl_add/ s/idex("\(.*\)").*$/&\
-# fl_set_button_shortcut(obj,"\1",1);/'
-#
-# For all lines containing "fl_add" and a string containing |, add the
-# shortcut command after the end of this line
-#
-# -e 's/\(\(FD_[^ ]*\) \*fdui =\).*sizeof(\*fdui))/\1 new \2/'
-#
-# We use new/delete not malloc/free so change to suit.
-#
-# -e "s/\(FD_f\([^ _]*\)_\([^ ]*\)\) \*create_form_form[^ ]*/\1 * $classname::build_\3()/"
-#
-# Fixup the name of the create_form... function to have a signature matching
-# that of the method it will become.
-#
-# -e 's/\(fdui->form[^ ]*\)\(.*bgn_form.*\)/\1\2\
-# \1->u_vdata = this;/' \
-#
-# We need to store a pointer to the dialog in u_vdata so that the callbacks
-# will work.
-#
-# -e 's/,\([^ ]\)/, \1/g'
-#
-# Someone got busy and put spaces in after commas but didn't allow for the
-# autogeneration of the files so their pretty formatting got lost. Not anymore.
-#
+#==================================
+# Create the .C file for use by LyX
+CIN=${DIRNAME}/${BASENAME}.c
+CPATCH=${DIRNAME}/${BASENAME}.C.patch
+COUT=${BASENAME}.C
+
+FDFIXC=${DIRNAME}/fdfixc.sed
+
+OUTPUT_FILE=${COUT}
+INTRO_MESSAGE
+
+echo >> ${COUT}
+echo "#include <config.h>" >> ${COUT}
+echo "#include \"forms_gettext.h\"" >> ${COUT}
+echo "#include \"gettext.h\"" >> ${COUT}
+
+grep bmtable ${CIN} > /dev/null
+if [ $? -eq 0 ]; then
+ echo "#include \"bmtable.h\"" >> ${COUT}
+fi
+
+# This is (I hope) a very temporary fudge.
+# FormMathsPanel should be modified in input() to not use the data parameter.
+# Instead, use the FL_OBJECT * parameter.
+# Angus 12 June, 2002.
+grep MM_ ${CIN} > /dev/null
+if [ $? -eq 0 ]; then
+ echo "#include \"MathsSymbols.h\"" >> ${COUT}
+fi
+
+echo >> ${COUT}
+
+sed -f ${FDFIXC} < ${CIN} >> ${COUT}
+
+# Patch the .C file if a patch exists
+if [ -f "$CPATCH" ] ; then
+ echo "Patching ${COUT} with $CPATCH"
+ patch -s ${COUT} < $CPATCH
+fi
+
+# Clean up, to leave the finished .C file
+rm -f ${CIN}