<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""></div><div class=""><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>
<br class=""><div><blockquote type="cite" class=""><div class="">On Nov 25, 2018, at 12:43 PM, David Strubbe <<a href="mailto:dstrubbe@macports.org" class="">dstrubbe@macports.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Did you check that "LD" is actually the variable that this Makefile uses to set the linker? There's no need to do this two-step approach anyway. You can just put LD=$[configure.f77} in the build.args.<div class=""><br class=""></div><div class=""><br class=""><div class="">David</div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sun, Nov 25, 2018 at 10:35 AM Ryan Schmidt <<a href="mailto:ryandesign@macports.org" class="">ryandesign@macports.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="">
<br class="">
On Nov 25, 2018, at 09:13, Mark Brethen wrote:<br class="">
<br class="">
> (resent with correction)<br class="">
> <br class="">
> I’m using the compilers group with<br class="">
> <br class="">
> compilers.choose    cc f77<br class="">
> compilers.setup     require_fortran<br class="">
> <br class="">
> below is the env settings:<br class="">
> <br class="">
> :debug:configure Environment: <br class="">
> :debug:configure CC='/usr/bin/clang'<br class="">
> :debug:configure CC_PRINT_OPTIONS='YES'<br class="">
> :debug:configure CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_marbre_ports_math_taucs/taucs/work/.CC_PRINT_OPTIONS'<br class="">
> :debug:configure CFLAGS='-pipe -Os -arch x86_64'<br class="">
> :debug:configure CPATH='/opt/local/include'<br class="">
> :debug:configure CPPFLAGS='-I/opt/local/include'<br class="">
> :debug:configure CXX='/usr/bin/clang++'<br class="">
> :debug:configure CXXFLAGS='-pipe -Os -stdlib=libc++ -arch x86_64'<br class="">
> :debug:configure F77='/opt/local/bin/gfortran-mp-8'<br class="">
> :debug:configure F77FLAGS='-m64'<br class="">
> :debug:configure F90FLAGS='-pipe -Os -m64'<br class="">
> :debug:configure FCFLAGS='-pipe -Os -m64'<br class="">
> :debug:configure FFLAGS='-pipe -Os'<br class="">
> :debug:configure INSTALL='/usr/bin/install -c'<br class="">
> :debug:configure LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64'<br class="">
> :debug:configure LIBRARY_PATH='/opt/local/lib'<br class="">
> :debug:configure MACOSX_DEPLOYMENT_TARGET='10.12'<br class="">
> :debug:configure OBJC='/usr/bin/clang'<br class="">
> :debug:configure OBJCFLAGS='-pipe -Os -arch x86_64'<br class="">
> :debug:configure OBJCXX='/usr/bin/clang++'<br class="">
> :debug:configure OBJCXXFLAGS='-pipe -Os -stdlib=libc++ -arch x86_64'<br class="">
> <br class="">
> for this particular port, I need to override the build and pass F77 as the linker. I tried<br class="">
> <br class="">
> build.args-append   CC=${<a href="http://configure.cc" class="">configure.cc</a>} \<br class="">
>                   F77=${configure.f77}<br class="">
> <br class="">
> build.target        lib/${os.platform}${os.major}/libtaucs.a<br class="">
> <br class="">
> build {<br class="">
>   ui_info "Building libtaucs archives:"<br class="">
>   system -W ${worksrcpath} "${build.cmd} ${build.args} ${build.target}"<br class="">
> }<br class="">
> <br class="">
> with 'LD = $(F77)’ in the Makefile, but that didn’t work. How should I pass this during build?<br class="">
<br class="">
I suppose that ought to work, except that perhaps the problem you're running into is that ${build.args} is a list of values. If you want to concatenate all those list items with spaces and include that expanded value in a string, as you're doing here, you'll need to use the expand operator ({*}). Technically, build.cmd and build.target (and all other MacPorts options) are lists too, though they might only contain one item at the moment. To properly expand all those lists into strings, you'd use: "{*}${build.cmd} {*}${build.args} {*}${build.target}".<br class="">
<br class="">
However, you probably should not override the build phase with this custom code block, because then you don't get a lot of conveniences that MacPorts provides. The custom build block you showed above doesn't look like it's trying to do anything different from the standard build phase, so I would just remove it. If you let MacPorts do the build phase the default way, you wouldn't run into that problem. Though I'm not 100% certain that was the problem, since you didn't show the way in which it didn't work.<br class="">
<br class="">
<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></div></div></body></html>