Hi all,

I use GNUstep make to build frameworks, bundles and apps on MacOSX. The 
frameworks used to the installed in /Library/Frameworks. Unfortunately this no 
longer works on newer MacOS X systems. Installing the framework in the home 
directory of users works

        make GNUSTEP_INSTALLATION_DIR="/Users/ahoesch" install
or 

        GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_USER_ROOT)

and the framework is even be found by the app without further ado which is 
great. 

However, I want to go a step further and install the framework in the Resources 
folder of the app wrapper

        cd /Users/ahoesch/A/TestFW   <--- project directory of the framework
        make 
GNUSTEP_INSTALLATION_DIR="/Build/TestApp3/TestApp3.app/Contents/Resources" 
install

to mimic what xCode.app does (everything in a self-contained app wrapper). The 
framework ends up in 

        
/Build/TestApp3/TestApp3.app/Contents/Resources/Library/Frameworks/TestFW.framework

but is of course not found by the app. Starting the app gives

dyld: Library not loaded: TestFW.framework/TestFW
  Referenced from: /Build/TestApp3/TestApp3.app/Contents/MacOS/TestApp3
  Reason: image not found
Trace/BPT trap: 5

Now that I have moved the framework I cannot even build the app anymore because 
it can't find the header.

        cd <app project dir>
        make 

retina:TestApp3 ahoesch$ make install
This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help.
Making all for app TestApp3...
 Compiling file DocumentController.m ...
clang: warning: /Build/TestFW/TestFW.framework/Headers: 'linker' input unused
DocumentController.m:2:9: fatal error: 'TestFW/Person.h' file not found
#import <TestFW/Person.h>
        ^
1 error generated.


I tinkered around with)

  ADDITIONAL_INCLUDE_DIRS += /Build/TestFW/TestFW.framework/Headers
  ADDITIONAL_LIB_DIRS += /Build/TestApp3/TestApp3.app/Contents/Resources

in the GNUmakefile of the app project but did not manage to find the correct 
settings!? :-( 

How can I make the app to build (find the headers of the framework) and finally 
how can I make the app to find TestFW.framework in its application wrapper?

        
/Build/TestApp3/TestApp3.app/Contents/Resources/Library/Frameworks/TestFW.framework

If building the app with the framework installed in a standard location 
(/Library/Frameworks) and then remove the framework from this location (move it 
into the app wrapper) I get the above mentioned "image not found" eror.

        otool -L /Build/TestApp3/TestApp3.app/Contents/MacOS/TestApp3

        ...
        TestFW.framework/TestFW (compatibility version 0.0.0, current version 
1.0.0)
                ...

One approach would certainly be to get rid of GNUstep make and use xCode 
instead for this. But I would like to stick to GNUstep make if possible!? Is 
there a way to make the app look into the app wrapper for libs and frameworks?

Thanks a lot in advance,

 Andreas



Reply via email to