On 14 June 2010 18:59, Manfred Bergmann <[email protected]> wrote: > Hi Greg. > > I was always using a makefile compiled library. However creating > multi-architecture builds (i386, x86_64, ppc) was always kind of a hassle.
ppc64 as well for G5 macs =) > This is very easily done by Xcode because it compiles for all targets and > combines the builds and I'm actually quite happy that I can use this now. FUD =) you can use isysroots to compile universal binaries using apple toolchain the same way XCode does it. http://developer.apple.com/mac/library/technotes/tn2005/tn2137.html I've used 10.5 sdk but the 10.4u (NB u = universal) can be used as well, 10.6 sdk doesn't have ppc. I took current trunk, autoreconf -f -i (NB using apple autoreconf not anything you get via macports/fink) and did this: CXXFLAGS="-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -arch ppc -arch ppc64" CFLAGS="-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64 -arch ppc -arch ppc64" LDFLAGS="-arch i386 -arch x86_64 -arch ppc -arch ppc64" ./configure --disable-dependency-tracking --with-icusword --without-icu --prefix=/here (bogus prefix to make sure I don't pull in any non-universal dylibs i have there) $ file lib/.libs/libsword-1.6.1.dylib lib/.libs/libsword-1.6.1.dylib: Mach-O universal binary with 4 architectures lib/.libs/libsword-1.6.1.dylib (for architecture i386): Mach-O dynamically linked shared library i386 lib/.libs/libsword-1.6.1.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64 lib/.libs/libsword-1.6.1.dylib (for architecture ppc7400): Mach-O dynamically linked shared library ppc lib/.libs/libsword-1.6.1.dylib (for architecture ppc64): Mach-O 64-bit dynamically linked shared library ppc64 I'm not sure how to wrap this into a proper Mac OS X framework and whether there is need for that at all. Using similar options you should be able to compile for iPhone SDK, I don't have it installed. On the other note do you think 10.4u install base is still there? And do we need to support it. > How is this done with CMake? > As far as I can see CMake style source/targets are just converted into XCode xml/plst project file, so you would still need to use xcode to define debug/release/sdk/target-arches. Using the sdk and gcc isysroot imho is far more UNIX-like =) > > Manfred > > > Am 14.06.2010 um 18:51 schrieb Gregory Hellings: > >> Manfred, >> >> My CMake build system is supposed to support iPhone configurations. It would >> keep you from having to update your xcode poject every time files are >> changed, etc. I have built the library succesfully against the simulator >> files using my CMake configure, but have not had any takers on actually >> testing the library against an actual app. >> >> --Greg >> >> >> >> On Jun 14, 2010, at 11:52 AM, Manfred Bergmann <[email protected]> >> wrote: >> >>> Troy, I'd like to put this into this bindings folder. >>> If you could create a "objc" folder there and give me commit rights? I'm >>> almost finished creating a proper Xcode project. >>> >>> >>> >>> Manfred >>> >>> >>> Am 16.04.2010 um 07:58 schrieb Troy A. Griffitts: >>> >>>> These all sound like good suggestions. Manfred, let me know what you >>>> decide and I'll either give you access to sword/bindings/objc or create >>>> a repository for you. >>>> >>>> Troy >>>> >>>> >>>> Peter von Kaehne wrote: >>>>> Would not the natural place be the bindings directory in the engine? >>>>> >>>>> >>>>> >>>>> Nic Carter wrote: >>>>>> I suggest you put it in a specific place in your MacSword SVN (or >>>>>> Bazaar if that's what you use now?) and I can access it from there. :) >>>>>> >>>>>> On 16/04/2010, at 2:32 AM, Manfred Bergmann wrote: >>>>>> >>>>>>> Alright then. >>>>>>> Can anyone with the proper rights create a Subversion folder? Or do >>>>>>> we use Bazaar? I switched over to Bazaar. :) >>>>>>> I believe I'm admin in Jira so I can create a project there myself. >>>>>>> >>>>>>> >>>>>>> Manfred >>>>>>> >>>>>>> >>>>>>> Am 15.04.2010 um 10:30 schrieb Nic Carter: >>>>>>> >>>>>>>> Hi Manfred, >>>>>>>> >>>>>>>> This all sounds good. :) >>>>>>>> >>>>>>>> Just one quick thing, though: PocketSword will be one app that >>>>>>>> works on both iPad and iPhone/iPod touch. I was looking at this >>>>>>>> today and I think this will be the best way forward. Apple have >>>>>>>> designed everything so that this is easily possible, with one >>>>>>>> codebase... :) >>>>>>>> >>>>>>>> Oh, and to answer your question about NSUserDefaults, yes, that's >>>>>>>> there! I have just added unlocking of modules to PocketSword, which >>>>>>>> will be available in v1.2.2 (currently in beta), and that works >>>>>>>> great using the code in SwordModule.mm :) >>>>>>>> >>>>>>>> Thanks for this work, Manfred! :) >>>>>>>> ybic >>>>>>>> nic... :) >>>>>>>> >>>>>>>> ---- >>>>>>>> Nic Carter >>>>>>>> PocketSword Developer - an iPhone Bible Study app >>>>>>>> www: http://crosswire.org/pocketsword >>>>>>>> iTunes: http://itunes.apple.com/app/Pocketsword/id341046078 >>>>>>>> Twitter: http://twitter.com/pocketsword >>>>>>>> >>>>>>>> On 15/04/2010, at 7:15 PM, Manfred Bergmann wrote: >>>>>>>> >>>>>>>>> Hi there. >>>>>>>>> >>>>>>>>> Now with the iPad already released in USA and in other countries >>>>>>>>> shortly I'd like to push for a consolidation of the Objective-C++ >>>>>>>>> SWORD wrapper classes. >>>>>>>>> Which over time has grown quite large consisting of 20 classes in >>>>>>>>> the version MacSword uses. Just for an explanation to others, they >>>>>>>>> build the basis for SWORD based OS X applications and are intended >>>>>>>>> to be able to code in Objective-C exclusively in upper levels of >>>>>>>>> the application (UI). >>>>>>>>> PocketSword uses a subset of those classes with some modifications. >>>>>>>>> >>>>>>>>> Now shortly since I believe we will again branch for the iPad >>>>>>>>> because it will be a different UI eventually I feel that we have to >>>>>>>>> do something now. Otherwise we will end up having to maintain three >>>>>>>>> code bases which could be one. And it will be a mess. >>>>>>>>> >>>>>>>>> Since MacSword 2.2 was released recently I have some time now to >>>>>>>>> work on this. >>>>>>>>> I would suggest to make a framework of the Objective-C wrapper >>>>>>>>> classes which can then be used in any OS X (Cocoa) based >>>>>>>>> application just as easily as other frameworks can be used. It >>>>>>>>> would still be necessary to have different builds for ARM and >>>>>>>>> Intel/PPC and Xcode projects but those can use the same code base. >>>>>>>>> If any user of the framework needs customised behaviour it is still >>>>>>>>> possible to subclass if really needed. >>>>>>>>> >>>>>>>>> The things that need closer look are: >>>>>>>>> - Make it work in gc and none-gc environments. >>>>>>>>> In MacSword 2.2 refactorings I tried to put in -dealloc and >>>>>>>>> -finalize methods in all classes I touched together with >>>>>>>>> autoreleased initialisations. >>>>>>>>> - Logging. >>>>>>>>> This might need some time. While I would like to be able to write >>>>>>>>> logs to file with specifying log levels this is not something the >>>>>>>>> iPhone/iPad wants due to slower FS access. But I'm sure there is a >>>>>>>>> solution to this. If some protocols are defined each front-end can >>>>>>>>> still implement it's own logging implementation. >>>>>>>>> - Code that uses NSUserDefaults. >>>>>>>>> Right now keys for locked modules are stored in NSUserDefaults. Is >>>>>>>>> this something that works on iPhoneOS? >>>>>>>>> - Searching/indexing. >>>>>>>>> While the iPhone uses the SWORD provided clucene based indexing and >>>>>>>>> searching MacSword uses SearchKit. >>>>>>>>> This not a problem at all but we have to define a protocol where >>>>>>>>> each application can implement a provider. >>>>>>>>> - Further we would need a place to source control it. Can we have a >>>>>>>>> place for it at CrossWire including a new project in Jira? >>>>>>>>> >>>>>>>>> Comments? >>>>>>>>> >>>>>>>>> Nic, if you are busy with things for PocketSword right now, don't >>>>>>>>> worry. I would start working on this, compare both code bases and >>>>>>>>> would start a discussion with you about things I'm uncertain - if >>>>>>>>> you give your "go" to do this all. >>>>>>>>> I'd also like to finally put in some Unit tests for critical parts >>>>>>>>> so that it can be tested more easily. Unfortunately Unit testing is >>>>>>>>> not so comfortable in Obj-C as it is in Java. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Manfred >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> sword-devel mailing list: [email protected] >>>>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>>>>>> Instructions to unsubscribe/change your settings at above page >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> sword-devel mailing list: [email protected] >>>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>>>>> Instructions to unsubscribe/change your settings at above page >>>>>>> >>>>>>> _______________________________________________ >>>>>>> sword-devel mailing list: [email protected] >>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>>>> Instructions to unsubscribe/change your settings at above page >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> sword-devel mailing list: [email protected] >>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>>> Instructions to unsubscribe/change your settings at above page >>>>> >>>>> >>>>> _______________________________________________ >>>>> sword-devel mailing list: [email protected] >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>> Instructions to unsubscribe/change your settings at above page >>>> >>>> >>>> _______________________________________________ >>>> sword-devel mailing list: [email protected] >>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>> Instructions to unsubscribe/change your settings at above page >>> >>> >>> _______________________________________________ >>> sword-devel mailing list: [email protected] >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> >> _______________________________________________ >> sword-devel mailing list: [email protected] >> http://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page > > > _______________________________________________ > sword-devel mailing list: [email protected] > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page > _______________________________________________ sword-devel mailing list: [email protected] http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page
