Subj : RNTrack fixes for FreeBSD To : Michael Dukelsky From : andrew clarke Date : Sat Jun 01 2019 22:55:16 Hi Michael, The following patches allow RNTrack to build in FreeBSD 12 using FreeBSD's default Clang compiler with: svn co https://svn.code.sf.net/p/ftrack-as/code/trunk ftrack-as-code mv ftrack-as-code rntrack cd rntrack/MakeFiles/FreeBSD/ make The string changes are necessary because Clang 6.0 complains with: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] GNU C/C++ is no longer in the FreeBSD base. Also, I should point out that bison is referenced in the Makefile but isn't being called. This doesn't stop it building, though. Thanks. Index: MakeFiles/FreeBSD/Makefile =================================================================== -+- MakeFiles/FreeBSD/Makefile (revision 174) +++ MakeFiles/FreeBSD/Makefile (working copy) @@ -1,5 +1,5 @@ # $Id$ -CC = g++ +CC = c++ CFLAGS = -Wall -W -fno-rtti -I../../hpp -I../../src -O3 CDEFS = -DUNIX -DHAVE_STDIO_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_CTYPE_H -DHAVE_SYS_TYPES_H \ -DHAVE_SYS_STAT_H -DHAVE_UNISTD_H -DHAVE_FCNTL_H -DHAVE_ERRNO_H -DHAVE_IOSTREAM_H \ Index: hpp/constant.hpp =================================================================== -+- hpp/constant.hpp (revision 174) +++ hpp/constant.hpp (working copy) @@ -72,7 +72,7 @@ #else #define Perl #endif -#define ProgVersion VERSION ""OsType ""Perl +#define ProgVersion VERSION OsType Perl #define ProductLO 0xff #define ProductHI 0x16 #define Copyright \ Index: src/msgbase.cpp =================================================================== -+- src/msgbase.cpp (revision 174) +++ src/msgbase.cpp (working copy) @@ -598,7 +598,7 @@ { // WARNING!!!!!!!!!!! i'm not sure about d_type in all operation systems // if ((pp->d_type & 0x1a) == 0) { - if(fsCompareName(pp->d_name, "*"MsgExtension) != 0) + if(fsCompareName(pp->d_name, "*" MsgExtension) != 0) { strcpy(bb, pp->d_name); Log.Level(LOGD) << "File '" << bb << "' matched with mask." << EOL; @@ -680,8 +680,8 @@ { if(NewNum < Num) { - sprintf(Buff, "%s%u"MsgExtension, DirName, Num); - sprintf(Buff2, "%s%u"MsgExtension, DirName, NewNum); + sprintf(Buff, "%s%u" MsgExtension, DirName, Num); + sprintf(Buff2, "%s%u" MsgExtension, DirName, NewNum); Log.Level(LOGD) << "Rename '" << Buff << "' to '" << Buff2 << "'" << EOL; @@ -719,7 +719,7 @@ return TRUE; } - sprintf(Buff, "%s%u"MsgExtension, DirName, MsgNum); + sprintf(Buff, "%s%u" MsgExtension, DirName, MsgNum); int error = unlink(Buff); if(!error) @@ -741,7 +741,7 @@ Buff = (char *)malloc(4096); CheckMem(Buff); - sprintf(Buff, "%s%u"MsgExtension, DirName, MsgNum); + sprintf(Buff, "%s%u" MsgExtension, DirName, MsgNum); fh = fopen(Buff, "rb"); free(Buff); @@ -788,7 +788,7 @@ { static char Buff[2048]; - sprintf(Buff, "%s%u"MsgExtension, DirName, MsgNum); + sprintf(Buff, "%s%u" MsgExtension, DirName, MsgNum); return Buff; } @@ -807,7 +807,7 @@ do { Num++; - sprintf(tmt, "%s%u"MsgExtension, DirName, Num); + sprintf(tmt, "%s%u" MsgExtension, DirName, Num); } while(access(tmt, F_OK) == 0); AddToMask(Num); @@ -814,7 +814,7 @@ b = (char *)malloc(4096); CheckMem(b); - sprintf(b, "%s%u"MsgExtension, DirName, Num); + sprintf(b, "%s%u" MsgExtension, DirName, Num); fh = fopen(b, "wb"); free(b); @@ -853,7 +853,7 @@ CHP = 222; Buff = (char *)malloc(4096); CheckMem(Buff); - sprintf(Buff, "%s%u"MsgExtension, DirName, MsgNum); + sprintf(Buff, "%s%u" MsgExtension, DirName, MsgNum); /* if (MaxMsgSize != 0) { @@ -1009,7 +1009,7 @@ CHP = 23702; CheckMem(Buff); CHP = 23703; - sprintf(Buff, "%s%u"MsgExtension, DirName, Num); + sprintf(Buff, "%s%u" MsgExtension, DirName, Num); CHP = 23704; fh = fopen(Buff, "wb"); CHP = 23705; @@ -1093,7 +1093,7 @@ do { Num++; - sprintf(Buff, "%s%u"MsgExtension, DirName, Num); + sprintf(Buff, "%s%u" MsgExtension, DirName, Num); } while(access(Buff, F_OK) == 0); AddToMask(Num); Index: src/outbound.cpp =================================================================== -+- src/outbound.cpp (revision 174) +++ src/outbound.cpp (working copy) @@ -190,7 +190,7 @@ if((f.Point() & 0xffff) != 0) { - RSTRLCAT(Buff, PntExtension ""PATHDELIMS "0000", BUFF_SIZE); + RSTRLCAT(Buff, PntExtension PATHDELIMS "0000", BUFF_SIZE); sprintf(Buff + strlen(Buff), "%04x", (word)(f.Point() & 0xffff)); } } @@ -317,7 +317,7 @@ do { - sprintf(tmt, PATHDELIMS "%08lx"PktExtension, MsgID()); + sprintf(tmt, PATHDELIMS "%08lx" PktExtension, MsgID()); } while(access(Buff, F_OK) == 0); return Buff; @@ -1529,7 +1529,7 @@ } } - if(tmt == NULL || stricmp(tmt, "pnt"PATHDELIMS) != 0) + if(tmt == NULL || stricmp(tmt, "pnt" PATHDELIMS) != 0) { DoRepackPoints(Name); } Index: src/parsetpl.cpp =================================================================== -+- src/parsetpl.cpp (revision 174) +++ src/parsetpl.cpp (working copy) @@ -212,7 +212,7 @@ if(Tearline == NULL) { CHP = 77010; - Tpl->AddStr("RNtrack "ProgVersion); + Tpl->AddStr("RNtrack " ProgVersion); CHP = 77011; } else @@ -325,7 +325,7 @@ if(i == Tpl->BodySize) { CHP = 77068; - Tpl->AddStr("--- RNtrack "ProgVersion); + Tpl->AddStr("--- RNtrack " ProgVersion); } else { Index: src/pktbase.cpp =================================================================== -+- src/pktbase.cpp (revision 174) +++ src/pktbase.cpp (working copy) @@ -707,7 +707,7 @@ if(fsCompareName(de->d_name, "*.[Pp][Kk][Tt]") != 0) { - sprintf(Buff, "%s"PATHDELIMS "%s", DirName, de->d_name); + sprintf(Buff, "%s" PATHDELIMS "%s", DirName, de->d_name); break; } } Index: src/smapi/makefile.bsd =================================================================== -+- src/smapi/makefile.bsd (revision 174) +++ src/smapi/makefile.bsd (working copy) @@ -7,7 +7,7 @@ # No support for the Husky build environment. prefix= /usr/local -CC= gcc +CC= cc CFLAGS= -Wall CDEFS= -DUNIX COPT= -O3 Regards Andrew --- GoldED+/BSD 1.1.5-b20180707 * Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267) .