• RNTrack fixes for FreeBSD

    From andrew clarke@3:633/267 to Michael Dukelsky on Sat Jun 1 22:55:16 2019
    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)
  • From Michael Dukelsky@2:5020/1042 to andrew clarke on Sun Jun 2 17:43:44 2019
    Hello andrew,

    Saturday June 01 2019, andrew clarke wrote to Michael Dukelsky:

    The following patches allow RNTrack to build in FreeBSD 12 using
    FreeBSD's default Clang compiler with:

    Thank you.

    Michael

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20170303
    * Origin: Moscow, Russia (2:5020/1042)