<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span></div><div class=""><br class=""><div class="">
<div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Aug 4, 2022, at 1:19 PM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">I’m seeing this error when generate all the header dependencies for FbdReader. This is confusing, which file has the error?</div><div class=""><br class=""></div><div class=""><div class="">:info:build In file included from Point.cpp:In file included from In file included from 1In file included from Element2d.cppFbdReader.cppSeqa.cpp:::1:</div><div class="">:info:build In file included from ../../FbdReader/inc/FbdReader.hxx:</div><div class="">:info:build :127:</div><div class="">:info:build 2In file included from :</div><div class="">:info:build In file included from ../../FbdReader/inc/FbdReader.hxx::</div><div class="">:info:build 27:</div><div class="">:info:build In file included from /opt/local/include/opencascade/BRepBuilderAPI_MakeWire.hxxIn file included from ../../FbdReader/inc/FbdReader.hxx../../FbdReader/inc/FbdReader.hxx:27:In file included from ::</div><div class="">:info:build 24In file included from :</div><div class="">:info:build /opt/local/include/opencascade/BRepBuilderAPI_MakeWire.hxx:/opt/local/include/opencascade/BRepLib_MakeWire.hxx:1762427/opt/local/include/opencascade/BRepBuilderAPI_MakeWire.hxx:</div><div class="">:info:build In file included from ::</div><div class="">:info:build 81: error/opt/local/include/opencascade/BRepBuilderAPI_MakeWire.hxx: :a space is required between consecutive right angle brackets (use '> >')24</div><div class="">:info:build :24/opt/local/include/opencascade/BRepLib_MakeWire.hxx:</div><div class="">:info:build :176:/opt/local/include/opencascade/BRepLib_MakeWire.hxx81::176 :error81: :a space is required between consecutive right angle brackets (use '> >') </div><div class="">:info:build error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build                                  NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL);</div><div class="">:info:build                                                                                 ^~</div><div class="">:info:build                                                                                 > ></div><div class="">:info:build                                  NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL);                                 NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL);</div><div class="">:info:build                                                                                 ^~:</div><div class="">:info:build /opt/local/include/opencascade/BRepLib_MakeWire.hxx:176                                                                                ^~:</div><div class="">:info:build 81                                                                                > >:</div><div class="">:info:build  error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build                                                                                 > ></div><div class="">:info:build                                  NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL);</div><div class="">:info:build                                                                                 ^~</div><div class="">:info:build                                                                                 > ></div><div class="">:info:build /opt/local/include/opencascade/BRepLib_MakeWire.hxx:178:79: error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build /opt/local/include/opencascade/BRepLib_MakeWire.hxx:  void CreateNewVertices(const NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL, 178</div><div class="">:info:build :                                                                              ^~79</div><div class="">:info:build :                                                                              > > </div><div class="">:info:build error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build   void CreateNewVertices(const NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL, </div><div class="">:info:build                                                                               ^~</div><div class="">:info:build                                                                               > ></div><div class="">:info:build /opt/local/include/opencascade/BRepLib_MakeWire.hxx:178:79: error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build   void CreateNewVertices(const NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL, </div><div class="">:info:build                                                                               ^~</div><div class="">:info:build                                                                               > ></div><div class="">:info:build /opt/local/include/opencascade/BRepLib_MakeWire.hxx:178:79: error: a space is required between consecutive right angle brackets (use '> >')</div><div class="">:info:build   void CreateNewVertices(const NCollection_List<NCollection_List<TopoDS_Vertex>>& theGrVL, </div><div class="">:info:build                                                                               ^~</div><div class="">:info:build                                                                               > ></div></div><div class=""><br class=""></div><br class=""><div class="">
<div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 3, 2022, at 3:51 PM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">I solved the build issue I was having with CadReader. I now have a different problem with FbdReader using opencascade 7.6:</div><div class=""><br class=""></div><div class=""><div class="">:info:build  :../../FbdReader/inc/FbdReader.hxx:1074:: 74fatal error:: 'GeomAdaptor_HCurve.hxx' file not found</div><div class="">:info:build fatal error10:10: fatal error: 'GeomAdaptor_HCurve.hxx' file not found</div><div class="">:info:build : 'GeomAdaptor_HCurve.hxx' file not found</div><div class="">:info:build #include <GeomAdaptor_HCurve.hxx></div><div class="">:info:build          ^~~~~~~~~~~~~~~~~~~~~~~~</div><div class="">:info:build #include <GeomAdaptor_HCurve.hxx></div><div class="">:info:build          ^~~~~~~~~~~~~~~~~~~~~~~~</div><div class="">:info:build #include <GeomAdaptor_HCurve.hxx></div><div class="">:info:build          ^~~~~~~~~~~~~~~~~~~~~~~~</div><div class="">:info:build  fatal error: 'GeomAdaptor_HCurve.hxx' file not found</div><div class="">:info:build #include <GeomAdaptor_HCurve.hxx></div><div class="">:info:build          ^~~~~~~~~~~~~~~~~~~~~~~~</div></div><div class=""><br class=""></div><div class="">I found this in the release notes:</div><div class=""><blockquote type="cite" class=""><h2 class="" style="transition: text-shadow 0.5s linear 0s; margin-right: 15px; font-family: Roboto, sans-serif;">Upgrade to OCCT 7.6.0</h2><h3 class="" style="transition: text-shadow 0.5s linear 0s; margin-right: 15px; font-family: Roboto, sans-serif;"><a class="anchor" id="upgrade_760_handle_adaptors" style="color: rgb(61, 87, 140);"></a>Simplification of surface/curve adaptor</h3><p class="" style="font-stretch: normal; font-size: 14px; line-height: 22px; font-family: Roboto, sans-serif;">Interfaces <em class=""><a class="elRef" href="https://dev.opencascade.org/doc/refman/html/class_adaptor2d___curve2d.html" style="color: rgb(70, 101, 162); text-decoration: none;">Adaptor2d_Curve2d</a></em>, <em class=""><a class="elRef" href="https://dev.opencascade.org/doc/refman/html/class_adaptor3d___curve.html" style="color: rgb(70, 101, 162); text-decoration: none;">Adaptor3d_Curve</a></em> and <em class=""><a class="elRef" href="https://dev.opencascade.org/doc/refman/html/class_adaptor3d___surface.html" style="color: rgb(70, 101, 162); text-decoration: none;">Adaptor3d_Surface</a></em> now inherit <a class="elRef" href="https://dev.opencascade.org/doc/refman/html/class_standard___transient.html" style="color: rgb(70, 101, 162); text-decoration: none;">Standard_Transient</a> and can be Handle-managed. No more necessary parallel hiererchy of classes <em class="">Adaptor2d_HCurve2d</em>, <em class="">Adaptor3d_HCurve</em> and <em class="">Adaptor3d_HSurface</em> (generated from generic templates by WOK) has been eliminated. Existing code using old Handle classes should be updated to:</p><ul class="" style="overflow: hidden; font-family: Roboto, sans-serif; font-size: 14px;"><li class="">Rename occurrences of old names (remove H suffix); upgrade.bat could be used for that purpose.</li><li class="">Replace redundant calls to previously declared methods .GetCurve2d()/.GetCurve()/.GetSurface() with the common operator->() syntax.</li><li class="">Pay attention on code calling GetSurface()/GetCurve() methods of removed handle classes. Such places should be replaced with Handle dereference.</li></ul></blockquote></div><div class="">I'll try patching the source. </div><div class=""><br class=""><div class=""><div class="">Thanks,</div><div class="">Mark</div></div></div><div class="">
<div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 3, 2022, at 10:18 AM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">It turns out the headers were their, I just didn’t have access due to a permissions setting on the ‘inc’ directory itself. There are quite a few undefined symbols listed in the build log.</div><div class=""><br class=""></div><div class=""><a href="https://pastebin.com/dh1Wx67C" class="">https://pastebin.com/dh1Wx67C</a></div><div class=""><br class=""></div><br class=""><div class="">
<div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 3, 2022, at 2:21 AM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><span class="" style="caret-color: rgb(0, 0, 0);">I confirmed the bzip file contains the header files</span><span style="caret-color: rgb(0, 0, 0);" class="">, however, the files are missing in the workpath. And there is nothing unusual in the log to explain what happened.</span><div class="" style="caret-color: rgb(0, 0, 0);"><br class=""></div><div class="" style="caret-color: rgb(0, 0, 0);"></div></div><span id="cid:EEE5E39A-ADFF-4F5F-AA8A-0717D96B03FB" class=""><main.log></span><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font></div><div class=""><font class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font><div class="">
<div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 2, 2022, at 6:20 PM, Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mark,</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I was able to spend more time with your Makefile.  I corrected some typos.</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Attached is the FINAL Makefile Rev 4 along with the patch file (that will patch the original Makefile)</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">It should work well for your purposes.</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">If you are having trouble with the extraction phase, please send me a copy of your Portfile and I will take a look.  It can be frustrating when things do not unpack as expected.\\</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Rob</div><div class="elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div id="appendonsend" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""></div><hr tabindex="-1" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline-block; width: 354.75px;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class=""></span><div id="divRplyFwdMsg" dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><font face="Calibri, sans-serif" style="font-size: 11pt;" class=""><b class="">From:</b><span class="Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>August 2, 2022 4:51 PM<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Cc:</b><span class="Apple-converted-space"> </span>MacPorts Developers <<a href="mailto:macports-dev@lists.macports.org" class="">macports-dev@lists.macports.org</a>><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; line-break: after-white-space;">I found the issue: There should be header files in ‘${workpath}/cgxCadTools/CadReader/inc’ but for some reason the extract phase is omitting them, i.e. the ‘inc’ directory is empty.<div class=""><br class=""></div><div class="">Why would it be doing this?</div><div class=""><div class=""><br class=""></div><div class=""><br class=""><div class=""><div class="">Mark Brethen</div><div class=""><a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a></div><div class=""><br class=""></div><br class="x_Apple-interchange-newline"></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 2, 2022, at 2:52 PM, Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>> wrote:</div><br class="x_Apple-interchange-newline"><div class=""><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I missed one.  You also need to change:</div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">$(CC) $(LDFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS) $(LFLAGS) $(LIBS)</div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">to</div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">$(CCX) $(LDFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS) $(LFLAGS) $(LIBS)</div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Rob<br class=""></div><div id="x_appendonsend" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"></div><hr tabindex="-1" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; display: inline-block; width: 354.75px;"><span class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; float: none; display: inline !important;"></span><div id="x_divRplyFwdMsg" dir="ltr" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_Apple-converted-space"> </span>Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Sent:</b><span class="x_Apple-converted-space"> </span>August 2, 2022 3:46 PM<br class=""><b class="">To:</b><span class="x_Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Subject:</b><span class="x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div dir="ltr" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mark,</div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Since it is a C++ project (not a C project), I modified the Makefile accordingly. See attached.</div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Please note that I added<span class="x_Apple-converted-space"> </span><b class="">LDFLAGS = -stdlib=libc++ </b>and added $LDFLAGS to the Makefile target that does the linking.</div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">This is needed so the code will link properly on older macs (like my old Mac running Lion).</div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Alternatively, you could add the following to the Portfile:</div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><b class="">configure.ldflags-append    "-stdlib=${configure.cxx_stdlib}"</b><br class=""></div></blockquote><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Rob</div><div class="x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div id="x_x_appendonsend" class=""></div><hr tabindex="-1" class="" style="display: inline-block; width: 354.75px;"><div id="x_x_divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_Apple-converted-space"> </span>Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Sent:</b><span class="x_Apple-converted-space"> </span>August 2, 2022 3:03 PM<br class=""><b class="">To:</b><span class="x_Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Subject:</b><span class="x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div dir="ltr" class=""><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I forgot to mention that I normally change all the CFLAGS and LDFLAGS as follows:</div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">CFLAGS = blah blah</div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">CFLAGS += blah blah</div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">This will allow Macports to add its own flags.</div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">You do not need to do that with CC or CCX.</div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Rob</div><div id="x_x_x_appendonsend" class=""></div><hr tabindex="-1" class="" style="display: inline-block; width: 354.75px;"><div id="x_x_x_divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_Apple-converted-space"> </span>Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Sent:</b><span class="x_Apple-converted-space"> </span>August 2, 2022 3:00 PM<br class=""><b class="">To:</b><span class="x_Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Subject:</b><span class="x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div dir="ltr" class=""><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mark,</div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I could not get the patch file to patch the Makefile.  So I manually applied the patches.  And added my changes.  </div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Attached please find the FINAL Makefile and a patch file showing all the diffs (including yours) from the original Makefile.  </div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I also did the following:</div><div class="x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><ol class=""><li class="">Deleted all the dependencies, generated by<span class="x_Apple-converted-space"> </span><b class="">makedepend</b> below the "# DO NOT DELETE THIS LINE -- make depend needs it" line.</li><li class="">Added "macports" to .PHONY  (P.S.  PHONY targets provide rules that do not directly build or link real binary objects.  They call on other targets that build and link the actual code).</li><li class="">Added the "macports" target:</li><li class="" style="display: block;"><b class="">macports:   depend all </b> <br class=""></li></ol><div class="">The rule for the Macports target is:</div><div class=""><br class=""></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><b class="">macports:   depend all </b> <br class=""></div></blockquote><div class=""><br class=""></div><div class="">When<span class="x_Apple-converted-space"> </span><b class="">make macports </b>is run, it will first run the "depend" target in the Makefile and generate all the header dependencies and then it will run the "all" target to build and link the code.</div><div class=""><br class=""></div><div class="">Now you have two choices as far as Macports is concerned:</div><div class=""><ol class=""><li class=""><span class="">Just use the Makefile as is and see if the code builds and links.  It likely will unless you are missing a header directory in $(INCLUDES).  OR</span></li><li class="">Add the following to the Portfile which causes makedepend to run (which will generate all those dependencies) before compiling and linking the code:</li><ol class="" style="list-style-type: lower-alpha;"><li class="">depends_build       port:makedepend<br class=""></li><li class="">build.target        macports<br class=""></li></ol></ol><div class="">If the Makefile is doing all the building and linking for your Project, you should probably also add the following to the Portfile:</div><div class=""><br class=""></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class="">PortGroup           makefile 1.0<br class=""></div></blockquote><div class=""><br class=""></div><div class="">I am working with a similar Makefile.  Both approaches above work for me.  Approach 1 runs a lot faster since it does not call on<span class="x_Apple-converted-space"> </span><b class="">makedepend</b>to generate all those header dependencies (which can take some time for a large project).  And as mentioned in my previous posts to the Macports mailing list, the compiler typically does NOT need to know about these header dependencies to properly build and link the final binary product for the first time.  </div><div class=""><br class=""></div><div class="">But the compiler does need to know the location of all the directories where all the non-system headers can be found so when it processes an <b class="">#include</b><span class="x_Apple-converted-space"> </span>in a source file, it can find the needed header.  The<span class="x_Apple-converted-space"> </span><b class="">$(INCLUDES)</b><span class="x_Apple-converted-space"> </span>does not need to contain any of the directories where the system headers are located since the compiler knows where they are.  And as you found out, the location of the system headers will change from MacOS to MacOS.</div><div class=""><br class=""></div><div class="">I went with Approach 1 for my project.</div><div class=""><br class=""></div><div class="">P.S.  It looks like the project is using autotools or cmake to generate the Makefile so you likely need to patch the Makefile at the end of the configure stage or before building.  The most important thing is deleting all those header dependencies at the end of the Makefile.</div><div class=""><br class=""></div><div class="">Good Luck.</div><div class=""><br class=""></div><div class="">Rob</div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"></blockquote></blockquote></div><div class=""><br class=""></div><div class=""><br class=""></div></div><div id="x_x_x_x_appendonsend" class=""></div><hr tabindex="-1" class="" style="display: inline-block; width: 354.75px;"><div id="x_x_x_x_divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Sent:</b><span class="x_Apple-converted-space"> </span>August 2, 2022 1:34 PM<br class=""><b class="">To:</b><span class="x_Apple-converted-space"> </span>Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Subject:</b><span class="x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div class=""><div class="" style="word-wrap: break-word; line-break: after-white-space;">Rob,<div class=""><br class=""></div><div class="">There is the line '<span class="" style="font-family: Menlo; font-size: 11px;">.PHONY: depend clean</span>' but 'make all’ only calls $(MAIN). </div><div class=""><div class=""></div></div></div><div class="" style="word-wrap: break-word; line-break: after-white-space;"><div class=""><div class=""></div></div></div><div class="" style="word-wrap: break-word; line-break: after-white-space;"><div class=""><div class=""></div><div class=""><br class="x_x_x_x_x_x_webkit-block-placeholder"></div><div class=""><div class="">Thanks,</div><div class="">Mark</div><div class=""><br class=""></div><br class="x_x_x_x_x_x_Apple-interchange-newline"></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 2, 2022, at 9:34 AM, Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>> wrote:</div><br class="x_x_x_x_x_x_Apple-interchange-newline"><div class=""><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mark,</div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">To be clear, I would first try patching the Makefile by deleting all the system header dependencies from the Makefile and then see if  Macports will build the project.  But make sure the Makefile lists the location of all the directories where the header files are located.  (I typically place them in $(INCLUDES)).  And make sure the rules contain $(INCLUDES).</div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><b class="" style="background-color: rgb(255, 255, 255);">You typically do not need to list the directories of the system header files<span class="x_x_x_x_x_x_Apple-converted-space"> </span></b><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;">because<span class="x_Apple-converted-space"> </span><span class="Apple-converted-space"> </span>the compiler typically knows where they are (which as you know may change from MacOS to MacOS).</span><br class=""></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;"><br class=""></span></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;">If you want to know why, keep reading....</span></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Typically "make" only needs to know the following to build the initial Project from scratch:</div><div class="x_x_x_x_x_x_elementToProof" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><div class=""><ol class=""><li class=""><span class=""><span class=""> The rules that define what source code files are needed to build each object and a rule for linking the object files and <span class="" style="text-align: start; background-color: rgb(255, 255, 255); display: inline !important;">the location of the directories for the header files (e.g. main.h).  </span></span><br class=""></span></li></ol></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class="">e.g</span></div></blockquote><div class=""><span class=""><br class=""></span></div><div class=""><span class=""><span class="">         <span class="" style="background-color: rgb(255, 255, 255); display: inline !important;">INCLUDES := -I./ </span></span></span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">.PHONY all</span></span></div></blockquote><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class=""><span class="">      </span><span class="">   all:  edit</span></span></span></div><div class=""><span class=""><span class=""><span class="">   </span><br class=""></span></span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class=""><span class="">edit:  main.o kdb.o</span></span></div></blockquote><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">$(CC) $(LDFLAGS) </span><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">-o main.o kbd.o</span></div></blockquote></blockquote><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">         </span></span><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">main.o: main.c myfunc.c</span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class="" style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif;">$(CC) $(CFLAGS) $(INCLUDES)</span><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><span class="x_x_x_x_x_x_Apple-converted-space"> </span>-c main.c myfunc.c</span></div><div class=""><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></span></div></blockquote><div class=""><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">kbd.o: kbd.c</span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class="" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">$(CC) $(CFLAGS) $(INCLUDES)</span><span class="" style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif;"> -c kbd.c</span></div></blockquote></blockquote><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><br class=""></div></blockquote><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">In the example above, the directories of the header files are in listed in $(INCLUDES).</span></span>   </div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><b class="">You do not need to list the directories of the system header files in $(INCLUDES)</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>because the compiler knows where they are (which as you know may change from MacOS to MacOS).</span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">Ideally, if you know that a particular header is a dependency for an object, it is better to list it in the rule (e.g.  main.o:  main.c myfunc.c main.h)  OR create a separate rule for the header dependency:</span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class=""><span class="">main.o:  main.h</span></span></div></blockquote><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><b class="">But these header dependency rules are typically not needed to build the initial project from scratch!</b>  These rules exist so "make" will only<span class="x_x_x_x_x_x_Apple-converted-space"> </span><b class=""><u class="">rebuild</u></b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>the minimum number of objects when a header file has changed.</div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">E.g.  If I change header.h and then run "make all" again in the above example, make will only recompile main.o and then it will link main.o with the previously built kbd.o.  kbd.o does not need to be recompiled.  This saves time.  Great for development!</span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class=""><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;">Macports does not do this.  It typically will rebuild the whole project from scratch. (i.e. build all the objects and then link them into the final product).</span></span></span></div><div class=""><span class=""><span class=""><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;"><br class=""></span></span></span></div><div class=""><span class=""><span class=""><span class="" style="background-color: rgb(255, 255, 255); display: inline !important;">In my view, Macports was not designed for development but for building a finished project and making a binary package.  (i.e. package management)</span></span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">If you are still having problems, please EMAIL me the Makefile and I will take a look.</span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">RobK88</span></span></div></div><div id="x_x_x_x_x_x_appendonsend" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"></div><hr tabindex="-1" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; display: inline-block; width: 354.75px;"><span class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; float: none; display: inline !important;"></span><div id="x_x_x_x_x_x_divRplyFwdMsg" dir="ltr" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>macports-dev <<a href="mailto:macports-dev-bounces@lists.macports.org" class="">macports-dev-bounces@lists.macports.org</a>> on behalf of Robert Kennedy <<a href="mailto:amtor@hotmail.com" class="">amtor@hotmail.com</a>><br class=""><b class="">Sent:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>August 2, 2022 8:10 AM<br class=""><b class="">To:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>>; MacPorts Developers <<a href="mailto:macports-dev@lists.macports.org" class="">macports-dev@lists.macports.org</a>><br class=""><b class="">Subject:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div dir="ltr" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;"><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mark,</div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">I agree with Josh, these headers look like they were automatically generated using something like "make depends".  </div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">When creating a Makefile, it is GOOD practice to include these lines as it will ensure that the Project will rebuild the correct files when a header file was changed.  Since it is a REAL pain to create them manually.  Many developers use something like "make depends".</div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">If there is a "depends:" target in the Makefile, you could patch the Makefile and add "depends" as the first Phony target to the "all:" target.  e.g.  </div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">all:  depends main etc etc</div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Alternatively, you could try just patching the Makefile by removing all these lines (and any other line where a system header is the ONLY dependency in the rule). <span class="x_x_x_x_x_x_Apple-converted-space"> </span><b class="">The vast majority of time, they are NOT needed to build the initial project.</b>  (They are needed if you want to use "make" to rebuild your project properly on subsequent runs where the developer has changed one of more of these system header files.  This is not a normal scenario if one is using Macports to build the project).</div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br class=""></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">The most important rules are the rules involving the source code files (which must be kept).  </div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">e.g.  $(OBJDIR-MAIN)/%.o: %.c<br class=""><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;">      $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@</blockquote><div class=""><br class=""></div><div class="">Make sure the Makfile has an "INCLUDES:" that lists the location of all the header files.  If it does, make will find them and build the initial project!</div><div class=""><br class=""></div></div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">e.g. I am working on a new port where I converted an Xcode project to one using a Makefile.  I used "make depends" to generate these dependencies, Macports built the code just fine when I either:</div><div class="x_x_x_x_x_x_x_elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><ol class=""><li class=""><span class="">Deleted all the lines below "# DO NOT DELETE THIS LINE -- make depend needs it"; or</span></li><li class=""><span class="">Added "depends" as the first phony target to the all: phoney target </span></li></ol><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class="">e.g. all: depends utils altivec mpeg2enc main $(PRODUCT)</div><div class=""><br class=""></div></blockquote><div class="">You could even patch the Makefile and add another target called "macports" and tell Macports to build that:</div></blockquote><div class=""><br class=""></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class="">      macports:  depends all</span><br class=""></div></blockquote><div class=""><span class=""><br class=""></span></div><div class=""><span class=""> <span class="">     And in the portfile, you would add:</span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><blockquote class="" style="margin-top: 0px; margin-bottom: 0px;"><div class=""><span class=""><span class="">build.target        macports<br class=""></span></span></div></blockquote><div class=""><span class=""><span class=""><br class=""></span></span></div><div class="">Good luck,<br class=""></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class="">Rob</span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div><div class=""><span class=""><span class=""><br class=""></span></span></div></div><div id="x_x_x_x_x_x_x_appendonsend" class=""></div><hr tabindex="-1" class="" style="display: inline-block; width: 354.75px;"><div id="x_x_x_x_x_x_x_divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" class="" style="font-size: 11pt;"><b class="">From:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>macports-dev <<a href="mailto:macports-dev-bounces@lists.macports.org" class="">macports-dev-bounces@lists.macports.org</a>> on behalf of Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>><br class=""><b class="">Sent:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>August 1, 2022 8:51 PM<br class=""><b class="">To:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>MacPorts Developers <<a href="mailto:macports-dev@lists.macports.org" class="">macports-dev@lists.macports.org</a>><br class=""><b class="">Subject:</b><span class="x_x_x_x_x_x_Apple-converted-space"> </span>Re: include files for cgxCADTools</font><div class=""> </div></div><div class="x_x_x_x_x_x_x_BodyFragment"><font size="2" class=""><span class="" style="font-size: 11pt;"><div class="x_x_x_x_x_x_x_PlainText">I’ll ask the developer<br class=""><br class="">Sent from my iPhone<br class=""><br class="">> On Aug 1, 2022, at 4:53 PM, Joshua Root <<a href="mailto:jmr@macports.org" class="">jmr@macports.org</a>> wrote:<br class="">><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">> A lot of them aren't even standard headers; I believe the ones under bits/ are glibc implementation details. I would suspect this part of the Makefile was not hand-written but generated with one of the compiler's -M options. To work correctly in that case, it would need to be regenerated for each new system the software is built on.<br class="">><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">> - Josh<br class="">><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>> On 2022-8-2 05:23 , Chris Jones wrote:<br class="">>> The makefile here is very poorly written. You should never directly reference standard headers like that…<br class="">>>>> On 1 Aug 2022, at 4:52 pm, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" class="">mark.brethen@gmail.com</a>> wrote:<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> This Makefile has the following lines:<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> CadReader.o: /usr/include/stdlib.h /usr/include/bits/libc-header-start.h<br class="">>>> CadReader.o: /usr/include/features.h /usr/include/stdc-predef.h<br class="">>>> CadReader.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h<br class="">>>> CadReader.o: /usr/include/bits/long-double.h /usr/include/gnu/stubs.h<br class="">>>> CadReader.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h<br class="">>>> CadReader.o: /usr/include/bits/floatn.h /usr/include/sys/types.h<br class="">>>> CadReader.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h<br class="">>>> CadReader.o: /usr/include/bits/types/clock_t.h<br class="">>>> CadReader.o: /usr/include/bits/types/clockid_t.h<br class="">>>> CadReader.o: /usr/include/bits/types/time_t.h<br class="">>>> CadReader.o: /usr/include/bits/types/timer_t.h<br class="">>>> CadReader.o: /usr/include/bits/stdint-intn.h /usr/include/endian.h<br class="">>>> CadReader.o: /usr/include/bits/endian.h /usr/include/bits/byteswap.h<br class="">>>> CadReader.o: /usr/include/bits/byteswap-16.h<br class="">>>> CadReader.o: /usr/include/bits/uintn-identity.h /usr/include/sys/select.h<br class="">>>> CadReader.o: /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h<br class="">>>> CadReader.o: /usr/include/bits/types/__sigset_t.h<br class="">>>> CadReader.o: /usr/include/bits/types/struct_timeval.h<br class="">>>> CadReader.o: /usr/include/bits/types/struct_timespec.h<br class="">>>> CadReader.o: /usr/include/sys/sysmacros.h /usr/include/bits/sysmacros.h<br class="">>>> CadReader.o: /usr/include/bits/pthreadtypes.h<br class="">>>> CadReader.o: /usr/include/bits/thread-shared-types.h<br class="">>>> CadReader.o: /usr/include/bits/pthreadtypes-arch.h /usr/include/alloca.h<br class="">>>> CadReader.o: /usr/include/bits/stdlib-float.h<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> /usr/include doesn’t exist on Big Sure (I assume its deprecated?) however, they can be found at<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> ~ $ xcrun --sdk macosx --show-sdk-path<br class="">>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> although I don’t see a ‘bits’ subdirectory. Has it been relocated?<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>> Thanks,<br class="">>>> Mark<br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">>>><span class="x_x_x_x_x_x_Apple-converted-space"> </span><br class="">></div></span></font></div></div></div></blockquote></div></div></div></div></div></div></div></div></blockquote></div><br class=""></div></div></div><span id="cid:1D5180E5-0F29-4A66-AEBA-E70990694872" class=""><Final-Combined-Makefile-Patches - Rev 2.diff></span><span id="cid:D26E4C4F-6F05-4A3C-8BE4-3A9261BF90AC" class=""><Makefile FINAL-Rev4></span></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></body></html>