[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Copying native library into app bundle and linking from there
From: |
Ivan Vučica |
Subject: |
Re: Copying native library into app bundle and linking from there |
Date: |
Thu, 4 Jul 2013 14:13:51 +0200 |
I think no -- there is probably no built in support as ATM almost all GNUstep
apps are shipped as source code.
Use @rpath on non-OS X and use @executable_path on OS X as part of the path to
the library (in Xcode that's the INSTALL_PATH).
Please google around for further reference; this is somewhat complex to get
right, but is not all THAT difficult.
Even with OS X where this is a common scenario you have to think carefully
about what you are doing -- the defaults for producing frameworks are not
optimized for your scenario, but for producing frameworks to be placed in
/Library/Frameworks (and even then...)
If I'm wrong, someone can correct me
Regards,
Ivan Vučica
via phone
On 4. 7. 2013., at 13:12, Graham Lee <graham@iamleeg.com> wrote:
> Hi,
>
> I have the following project structure:
>
> MyApp/GNUmakefile: defines a GSW app target that depends on NativeLib, and an
> aggregate that builds NativeLib as a subproject
> MyApp/NativeLib/GNUmakefile: defines the native library target used by the app
>
> Currently, typing "make" at the MyApp level builds the library, and then the
> app. However the app will only launch if the native library is installed.
> What I'd like to do is deploy the native library into the app bundle and link
> the app binary to it from there. The only way I know to do that is a bit of a
> hack:
>
> - on OS X, add NativeLib/NativeLib.framework as a component and link it as
> Contents/Resources/NativeLib.framework/NativeLib
> - on others, add NativeLib/NativeLib.so as a component and link it as
> Resources/NativeLib.so
>
> This seems like a duplication of effort, and I'm likely to get it wrong or
> make it brittle to change. Is there already a way to do this that works
> across platforms in gnustep-make?
>
> Thanks,
> Graham.
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep