Thanks everyone for the much needed guidance, I submitted a ticket in the trac.

Mark



> On Aug 8, 2022, at 12:08 PM, Robert Kennedy <[email protected]> wrote:
> 
> Mark,
> 
> The Makefile template that you sent me looks like it was based on a Makefile 
> template for C programs, NOT C++ programs.
> 
> For C++, you need to set CXX to the compiler and use CXXFLAGS for the C++ 
> compiler flags.   Use+=.  Do not use := since MacPorts will likely want to 
> add its own flags.
> 
> LDFLAGS should be also be used to set any linker flags.  Again use +=
> e,g,  LDFLAGS += 
> 
> Here is the format.
> 
> $(MAIN): $(OBJS)
>  $(CXX) $(CXXFLAGS) $(LDFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS)$(LFLAGS) 
> $(FWORKDIRS) $(LIBS) $(FWORKS)
> 
> where LFLAGS += library directories.
> LIBS += library flags e.g.  -lm for math library
> FWORKDIRS += Framework directories etc
> 
> Rob
> From: macports-dev <[email protected]> on behalf of 
> Mark Brethen <[email protected]>
> Sent: August 8, 2022 12:22 PM
> To: Joshua Root <[email protected]>
> Cc: MacPorts Developers <[email protected]>
> Subject: Re: include files for cgxCADTools
>  
> The makefile only sets cc, not c++. If I remove -lstc++ from LIBS, then I 
> need to add it to the portfile using LDFLAGS. The Makefile uses LFLAGS, which 
> I don’t want to override. Should I add LDFLAGS to MAIN, like so:
> 
> $(MAIN): $(OBJS) 
>         $(CC) $(CFLAGS) $(INCLUDES) -o $(MAIN) $(OBJS) $(LFLAGS) $(LIBS) 
> $(LDFLAGS)
> 
> 
> 
> 
> 
> 
> 
> Mark Brethen
> [email protected]
> 
> 
> 
> > On Aug 8, 2022, at 11:10 AM, Joshua Root <[email protected]> wrote:
> > 
> > That's a completely different thing. The language standard is selected by 
> > -std, the stdlib implementation is selected by -stdlib, and linking to a 
> > stdlib directly (as -lstdc++ does) is usually a bug since the C++ compiler 
> > will implicitly add the appropriate stdlib when linking.
> > 
> > - Josh
> > 
> > On 2022-8-9 01:16 , Mark Brethen wrote:
> >> There is also -lstdc++, I thought those should be set in the Portfile. 
> >> Doesn’t macports-clang have its own standard?
> >> Mark Brethen
> >> [email protected] <mailto:[email protected] 
> >> <mailto:[email protected]>>
> >>> On Aug 7, 2022, at 7:22 PM, Ryan Schmidt <[email protected] 
> >>> <mailto:[email protected] <mailto:[email protected]>>> wrote:
> >>> 
> >>> In fact, the Makefile already had -std=c++11, but your patchfile removed 
> >>> it. So don't remove it.
> > 

Reply via email to