github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/util/strs/xdtcsource.go (about)

     1  package strs
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  const maxWidth = 71
     8  
     9  func XdtCSource(in string, src string, resname string) string {
    10  	packed := PackXML(string(in))
    11  	return fmt.Sprintf(
    12  		"/* automatically generated from %s */\n"+
    13  			"#ifdef __SUNPRO_C\n"+
    14  			"#pragma align 4 (%s)\n"+
    15  			"#endif\n"+
    16  			"#ifdef __GNUC__\n"+
    17  			"static const char %s[] __attribute__ ((__aligned__ (4))) =\n"+
    18  			"#else\n"+
    19  			"static const char %s[] =\n"+
    20  			"#endif\n"+
    21  			"{\n"+
    22  			"%s};\n\nstatic const unsigned %s_length = %du;\n\n",
    23  		src, resname, resname, resname, CLiteral(packed, "  ", maxWidth), resname, len(packed))
    24  }