Looking at the C header file in SymEngine, one could probably do everything manually. On the long term however, an automatic tool will probably be easier.
Would using Shroud (https://github.com/LLNL/shroud) be an option?
A presentation (PowerPoint file) is also available from FortranCon: https://tcevents.chem.uzh.ch/event/12/contributions/30/attachments/29/98/Taylor-Shroud-forcon.pptx