+int Build_CreateUdiprops(tIniFile *opts, const char *abi, tUdiprops *udiprops)
+{
+ const char *cc_prog = IniFile_Get(opts, abi, "CC", NULL);
+
+ char *filename = get_udipropsfile(opts, abi);
+ FILE *fp = fopen(filename, "w");
+ fprintf(fp, "char udiprops[] __attribute__((section(\".udiprops\"))) = \n");
+ for( int i = 0; i < udiprops->nLines; i ++ ) {
+ // TODO: Escape " in string
+ fprintf(fp, " \"%s\"\n", udiprops->Lines[i]);
+ }
+ fprintf(fp, " ;\n");
+ fclose(fp);
+
+ char *cmd = mkstr("%s %s -c %s -o %s.o",
+ cc_prog, IniFile_Get(opts, abi, "CFLAGS", ""),
+ filename, filename);
+
+ int rv = system(cmd);
+ free(cmd);
+ unlink(filename);
+ free(filename);
+
+ return rv;
+}
+