Thanks Ryan,

I just realised, I had this email sitting in my Drafts all this time. Never 
sent it.

I have actually not been able to try your suggestions to this day, as it works 
if I simply ignore the warnings, so it has not been a problem so far. I will 
return to this maybe during the summer as spring for me will be very busy.

Anyway, thanks again. I’ll be in touch.

Kind regards,
Michael

> On 6 Oct 2021, at 00:09, Ryan Schmidt <[email protected]> wrote:
> 
> On Sep 28, 2021, at 05:09, Michael Monschau wrote:
>> 
>> Background:
>> I recently had the need to resort to some open software to add certain PDF 
>> manipulation features to one of my products. The open source tool I am using 
>> is podofo-0.9.7. That uses various other libraries including openssl. As 
>> part of my own XCode project I have to link against crypto.dylib (linking 
>> against the crypto.a library in XCode). 
>> Note: I am using 'port install' with the ‘+universal’ flag as I need 
>> universal libraries
>> 
>> The problem:
>> I am building the macports libraries that I need on macOS 11.4. However, I 
>> need the deployment target for my own xcode projects to be 10.13 and to 
>> avoid hundreds of link warnings which may push out important ones, I need to 
>> rebuild openssl with that deployment target set. I understand there is 
>> CMAKE_OSX_DEPLOYMENT_TARGET and I can do set(CMAKE_OSX_DEPLOYMENT_TARGET 
>> “10.13”), but I don’t know
>>    1. where I do this (I was thinking in 
>> '/opt/local/share/cmake-3.20/Modules/Platform/Darwin.cmake' but not sure)
>>    2. how to force the rebuilding from source using cmake of the openssl 
>> libraries via 'port install'
> 
> By default MacPorts builds for the current OS deployment target, i.e., if you 
> are on macOS 11.x MacPorts builds for deployment target 11, and if you are on 
> macOS 10.15.x MacPorts builds for deployment target 10.15.
> 
> You can instruct MacPorts to build for a different deployment target by 
> editing macports.conf, e.g.
> 
> macosx_deployment_target 10.13
> 
> If you need to build using a different SDK, you can indicate that too:
> 
> macosx_sdk_version 10.13
> 
> You don't have the 10.13 SDK on a macOS 11 system by default, so you would 
> need to get a copy and put it in the right place 
> (/Library/Developer/CommandLineTools/SDKs/ for ports that build with the 
> command line tools or 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
>  for ports that build with Xcode).
> 
> Because these are undocumented and seldom-used options, you may encounter 
> ports that do not respect these settings. If so, that would be a bug that we 
> should fix and you could file a bug report or pull request, just be prepared 
> for the likelihood of encountering these problems.
> 
> By default MacPorts fetches binaries for ports when it can. Those binaries 
> were built with default deployment target and SDK settings. If you are trying 
> to create a MacPorts installation using different settings for those values, 
> you should uninstall all ports and, before installing any ports, disable the 
> use of binaries by setting "buildfromsource always" in macports.conf.
> 
> You may want to leave your default prefix /opt/local untouched so that it 
> builds with default settings and receives binaries, and set up a second 
> MacPorts prefix somewhere else, such as /opt/local10.13. That way you 
> remember that you've given /opt/local10.13 special settings, and you retain 
> /opt/local and are still able to receive binaries when installing ports that 
> are unrelated to your 10.13 deployment target project.
> 
> Another option if you are just looking for binaries pre-built for specific OS 
> versions is to download them from our packages server, assuming binaries are 
> available. For example, the latest openssl we compiled for macOS 10.13 is 
> currently 
> http://packages.macports.org/openssl/openssl-1.1.1l_1.darwin_17.x86_64.tbz2
> 

Reply via email to