<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Thanks Chris and Josh for your comments.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Attached is <b>main.log</b>.  I created an error in the destroot stage so <b>main.log</b> would be created.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Also attached is the <b>Portfile</b>.  I commented out the patch to <b>config.h</b> listed in the Portfile that adds the all the "includes guards" to
<b>config.h </b>so the "macro redefined" warnings will be generated.<b> </b> </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
As I mentioned in my previous post, I do not see them these errors when I compile the Project using the Makefile outside of Macports.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
My "Includes guard" Patch to <b>config.h</b> does fix the problem when the Project is being built by Macports.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
You will not be able to build the project without the Makefile and all the Patches that I created.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
When I have time later today, I will submit a Pull Request containing all the files.  I just need to put the finishing touches on the patch that adds the Includes Guards.  </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
With the Makefile and all the patches, M2VDownsizer builds just fine in Macports.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
If you have any ideas on why the "macro redefined" warnings only appear when the Project is being built by Macports without the "Includes guard" patch, please let me know.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
And of course, please provide any feedback on the Portfile since I am a newbie when it comes to writing Portfiles.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
P.S.  As you will see in the Portfile, I created a "macports" target in the Makefile that first runs
<b>make depend</b> to generate all those header dependencies before running <b>make all</b>.  These header dependencies are not really needed to build the Project but are needed if one wants to use the Makefile for development purposes so I commented out the
 "macports" build target in the Portfile.   </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I elected to not generate all these header dependencies for the Macports build because it will speed up the build in Macports.  The Project will build successfully either way.  If you believe it is best that these header dependencies are generated for the Makefile
 in the Macports build, please let me know. It is an easy change.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Thanks,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Rob</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Joshua Root <jmr@macports.org><br>
<b>Sent:</b> August 4, 2022 10:21 AM<br>
<b>To:</b> Robert Kennedy <amtor@hotmail.com>; macports-dev@lists.macports.org <macports-dev@lists.macports.org><br>
<b>Subject:</b> Re: Issues with config.h</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On 2022-8-4 23:36 , Robert Kennedy wrote:<br>
> I am working on creating a new port that uses its own *config.h*.  See <br>
> attached.  The project compiles and builds just in clang outside of <br>
> Macports but when it is built via Macports, a number of macro redefined <br>
> warnings are generated:<br>
> <br>
> e.g.<br>
> <br>
>     .*/config.h:29:9: warning: 'HAVE_STDINT_H' macro redefined*<br>
>     *#define HAVE_STDINT_H*<br>
>     *        ^*<br>
>     *./config.h:42:9: note: previous definition is here*<br>
>     *#define HAVE_STDINT_H 1*<br>
> <br>
> <br>
> I suspect Macports or the compiler is creating or referencing another <br>
> *config.h*.<br>
<br>
Unlikely, but it's very difficult for anyone else to know what's <br>
happening unless you share your Portfile. For your own investigation, <br>
the -H compiler option may be useful.<br>
<br>
- Josh<br>
</div>
</span></font></div>
</body>
</html>