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)