Re: [gtk-osx-users] Changing from modulesets-stable to modulesets and universal architecture questions






------- Original Message -------
On Monday, April 4th, 2022 at 12:01 AM, john <jralls ceridwen us> wrote:



If you manage to get the cross-compiling and lipo-ing to work I'd like to know about it, in particular any special settings or environment variables you needed to make.

With only painstaking manual work I was able to glue everything together and have a working universal gtk-osx.
But that consists of 104 lines like this:
lipo -create -arch x86_64 /opt/gtk3x86/lib/libatk-1.0.0.dylib -arch arm64 /opt/gtk3arm/lib/libatk-1.0.0.dylib -output /opt/gtk/lib/libatk-1.0.0.dylib

I'm pretty sure someone could make a script out of this to automate this, I'm not good at this :)
And I've had to build both arches in /opt/gtk3 and then rename the prefixes so I wouldn't have to use install_name_tool.
But it works and I have a working build of Exult Studio for both arches now.

Btw. any idea why using strip on our binary breaks everything?
When I run it after using strip I get a lot of 

Gtk-WARNING **: 23:12:04.835: Could not find signal handler *some of our function*. Did you compile with -rdynamic?



I thought of a possible way to do universal builds on gtk-osx.
Problem: cross-compilation is a pain and I have no idea how meson/ninja handle this (I have only experience in autotools and some cmake). If the package runs a lot of scripts to figure out what the system provides it really is no fun to mess with it. And the gtk-osx packages fall into this category.

So my idea would only work on an M1 machine and only as long as Rosetta2 is available (so not really future proof) as I understood from the mailing list that you can build the x86_64 arch on an M1 device.

when both arches are defined

Sounds like a lot of work that is reliant on too many scripts and likely to break. Probably too much work for too little gain, only working on M1 devices, and will stop working as soon as Apple gets rid of Rosetta2.
People are better off to just do a build for each arch, I guess.

Take care,

Dom


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]