makedefs internal version formatter
Add -svs so the Makefile can get "343" or "3.4.3" (etc) when automating package builds.
This commit is contained in:
+21
-5
@@ -163,7 +163,7 @@ extern void NDECL(monst_init); /* monst.c */
|
|||||||
extern void NDECL(objects_init); /* objects.c */
|
extern void NDECL(objects_init); /* objects.c */
|
||||||
|
|
||||||
static void NDECL(make_version);
|
static void NDECL(make_version);
|
||||||
static char *FDECL(version_string, (char *));
|
static char *FDECL(version_string, (char *, const char *));
|
||||||
static char *FDECL(version_id_string, (char *,const char *));
|
static char *FDECL(version_id_string, (char *,const char *));
|
||||||
static char *FDECL(xcrypt, (const char *));
|
static char *FDECL(xcrypt, (const char *));
|
||||||
static int FDECL(check_control, (char *));
|
static int FDECL(check_control, (char *));
|
||||||
@@ -380,6 +380,17 @@ do_ext_makedefs(int argc, char **argv){
|
|||||||
#define CONSUME \
|
#define CONSUME \
|
||||||
argv++, argc--; \
|
argv++, argc--; \
|
||||||
if(argc==0){Fprintf(stderr, "missing option\n"); exit(EXIT_FAILURE);}
|
if(argc==0){Fprintf(stderr, "missing option\n"); exit(EXIT_FAILURE);}
|
||||||
|
IS_OPTION("svs"){
|
||||||
|
/* short version string for packaging - note
|
||||||
|
* no \n */
|
||||||
|
char buf[100];
|
||||||
|
char delim[10];
|
||||||
|
argv++; /* not CONSUME */
|
||||||
|
delim[0] = '\0';
|
||||||
|
if(argv[0]) strcpy(delim, argv[0]);
|
||||||
|
Fprintf(stdout, "%s", version_string(buf, delim));
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
IS_OPTION("input"){
|
IS_OPTION("input"){
|
||||||
CONSUME;
|
CONSUME;
|
||||||
if(!strcmp(argv[0], "-")){
|
if(!strcmp(argv[0], "-")){
|
||||||
@@ -1007,10 +1018,12 @@ make_version()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
version_string(outbuf)
|
version_string(outbuf, delim)
|
||||||
char *outbuf;
|
char *outbuf;
|
||||||
|
const char *delim;
|
||||||
{
|
{
|
||||||
Sprintf(outbuf, "%d.%d.%d", VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL);
|
Sprintf(outbuf, "%d%s%d%s%d", VERSION_MAJOR, delim, VERSION_MINOR,
|
||||||
|
delim, PATCHLEVEL);
|
||||||
#ifdef BETA
|
#ifdef BETA
|
||||||
Sprintf(eos(outbuf), "-%d", EDITLEVEL);
|
Sprintf(eos(outbuf), "-%d", EDITLEVEL);
|
||||||
#endif
|
#endif
|
||||||
@@ -1034,7 +1047,7 @@ const char *build_date;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
Sprintf(outbuf, "%s NetHack%s Version %s - last build %s.",
|
Sprintf(outbuf, "%s NetHack%s Version %s - last build %s.",
|
||||||
PORT_ID, subbuf, version_string(versbuf), build_date);
|
PORT_ID, subbuf, version_string(versbuf,"."), build_date);
|
||||||
return outbuf;
|
return outbuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1058,6 +1071,9 @@ do_date()
|
|||||||
perror(filename);
|
perror(filename);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
/* NB: We've moved on from SCCS, but this way this line
|
||||||
|
* won't get clobbered when downstream projects import
|
||||||
|
* this file into something more modern. */
|
||||||
Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.5\t2004/02/01 */\n\n");
|
Fprintf(ofp,"/*\tSCCS Id: @(#)date.h\t3.5\t2004/02/01 */\n\n");
|
||||||
Fprintf(ofp,Dont_Edit_Code);
|
Fprintf(ofp,Dont_Edit_Code);
|
||||||
|
|
||||||
@@ -1089,7 +1105,7 @@ do_date()
|
|||||||
Fprintf(ofp,"#define VERSION_SANITY3 0x%08lx%s\n",
|
Fprintf(ofp,"#define VERSION_SANITY3 0x%08lx%s\n",
|
||||||
version.struct_sizes2, ul_sfx);
|
version.struct_sizes2, ul_sfx);
|
||||||
Fprintf(ofp,"\n");
|
Fprintf(ofp,"\n");
|
||||||
Fprintf(ofp,"#define VERSION_STRING \"%s\"\n", version_string(buf));
|
Fprintf(ofp,"#define VERSION_STRING \"%s\"\n", version_string(buf,"."));
|
||||||
Fprintf(ofp,"#define VERSION_ID \\\n \"%s\"\n",
|
Fprintf(ofp,"#define VERSION_ID \\\n \"%s\"\n",
|
||||||
version_id_string(buf, cbuf));
|
version_id_string(buf, cbuf));
|
||||||
Fprintf(ofp,"\n");
|
Fprintf(ofp,"\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user