idl/source/objects/types.cxx | 2 ios/experimental/DocumentLoader/Makefile | 11 ++- ios/experimental/DocumentLoader/docloader.mm | 83 ++++++++++++++++++++++----- 3 files changed, 80 insertions(+), 16 deletions(-)
New commits: commit 9d83ad0e99ab182506be99f7d6a2bec7f6fbe8c6 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Nov 26 21:39:43 2012 +0200 Use -dead_strip ld flag Change-Id: I39bb14e47654afd5425098fb4aad80a29f058d67 diff --git a/ios/experimental/DocumentLoader/Makefile b/ios/experimental/DocumentLoader/Makefile index 9de1c5b..59b7332 100644 --- a/ios/experimental/DocumentLoader/Makefile +++ b/ios/experimental/DocumentLoader/Makefile @@ -74,7 +74,7 @@ all: $(APPDIR)/$(APP) stuff $(APPDIR)/$(APP): $(SRCS) mkdir -p $(APPDIR) - $(CXX) -v -miphoneos-version-min=4.3 -fobjc-link-runtime -Wl,-map,$(APP).map.mangled -o $@ $(gb_GLOBALDEFS) $(CFLAGS) $(gb_OBJCXXFLAGS) $(MOREINCLUDES) $(SRCS) $(LIBS) + $(CXX) -v -miphoneos-version-min=4.3 -fobjc-link-runtime -Wl,-map,$(APP).map.mangled -Wl,-dead_strip -o $@ $(gb_GLOBALDEFS) $(CFLAGS) $(gb_OBJCXXFLAGS) $(MOREINCLUDES) $(SRCS) $(LIBS) c++filt <$(APP).map.mangled >$(APP).map && rm $(APP).map.mangled stuff: commit 497a7ac1dfed80339e50c4f964fa2bb0b68d1aa1 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Nov 26 21:25:39 2012 +0200 Drop the components we don't have for iOS Change-Id: I15981bf4827c29a7e1ce8e33d8b6fdc159e05522 diff --git a/ios/experimental/DocumentLoader/docloader.mm b/ios/experimental/DocumentLoader/docloader.mm index fe23934..8eb56a9 100644 --- a/ios/experimental/DocumentLoader/docloader.mm +++ b/ios/experimental/DocumentLoader/docloader.mm @@ -51,7 +51,6 @@ extern "C" { extern void * lnth_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * lotuswordpro_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * oox_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); - extern void * sb_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * sc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * scd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * scfilt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); @@ -67,8 +66,6 @@ extern "C" { extern void * textfd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * unoxml_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * unordf_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); - extern void * wpftdraw_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); - extern void * wpftwriter_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * xmlfd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * xmlsecurity_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); extern void * xo_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); @@ -100,7 +97,6 @@ lo_get_libmap(void) { "libooxlo.a", oox_component_getFactory }, { "libscdlo.a", scd_component_getFactory }, { "libscfiltlo.a", scfilt_component_getFactory }, - { "libsblo.a", sb_component_getFactory }, { "libsclo.a", sc_component_getFactory }, { "libsddlo.a", sdd_component_getFactory }, { "libsdlo.a", sd_component_getFactory }, @@ -113,8 +109,6 @@ lo_get_libmap(void) { "libtextfdlo.a", textfd_component_getFactory }, { "libunordflo.a", unordf_component_getFactory }, { "libunoxmllo.a", unoxml_component_getFactory }, - { "libwpftdrawlo.a", wpftdraw_component_getFactory }, - { "libwpftwriterlo.a", wpftwriter_component_getFactory }, { "libxmlfdlo.a", xmlfd_component_getFactory }, { "libxmlsecurity.a", xmlsecurity_component_getFactory }, { "libxoflo.a", xof_component_getFactory }, commit db7b486f8818ce99711f281216efb49e52c5d0b5 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Nov 26 21:16:20 2012 +0200 Use the weak attribute for iOS, too Change-Id: I090da1c6c9e48ef12f2a168eddb1a2cb91a8f533 diff --git a/idl/source/objects/types.cxx b/idl/source/objects/types.cxx index e6cc629..2ce42b7 100644 --- a/idl/source/objects/types.cxx +++ b/idl/source/objects/types.cxx @@ -1410,7 +1410,7 @@ void SvMetaType::WriteSfxItem( // write the implementation part rOutStm << "#ifdef SFX_TYPEMAP" << endl - << "#if defined(DISABLE_DYNLOADING) && defined(ANDROID)" << endl + << "#if defined(DISABLE_DYNLOADING) && (defined(ANDROID) || defined(IOS))" << endl << "__attribute__((__weak__))" << endl << "#endif" << endl << aTypeName.getStr() << aVarName.getStr() commit 79d82c21fcc6bde1d75f23870488f85a15e207c6 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Nov 26 17:32:02 2012 +0200 Make it link again Use the wildcard function to get all ibraries and component, like for Android. (We won't of course actually link in all code from allof them, just what gets referenced to by the getFactory methods referenced in docloader.mm. Plus possibly unintentionally other stuff, to be investigated...) Change-Id: I6516964c83e7bf120de586550c40615b4337f760 diff --git a/ios/experimental/DocumentLoader/Makefile b/ios/experimental/DocumentLoader/Makefile index a308963..9de1c5b 100644 --- a/ios/experimental/DocumentLoader/Makefile +++ b/ios/experimental/DocumentLoader/Makefile @@ -15,6 +15,8 @@ APPDIR=build/Debug-$(PLATFORM)/$(APP).app # Stuff lifted from solenv/gbuild +COMMA := , + gb_CPUDEFS := -DARM32 gb_CPUDEFS += -D$(CPUNAME) @@ -43,6 +45,7 @@ gb_GLOBALDEFS := \ $(gb_OSDEFS) \ $(gb_COMPILERDEFS) \ $(gb_CPUDEFS) \ + -DDISABLE_DYNLOADING \ gb_OBJC_OBJCXX_COMMON_FLAGS := -fobjc-abi-version=2 -fobjc-legacy-dispatch -D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 -g gb_OBJCFLAGS := -x objective-c $(gb_OBJC_OBJCXX_COMMON_FLAGS) @@ -61,13 +64,17 @@ CFLAGS = $(SOLARINC) MOREINCLUDES = -I$(OUTDIR)/inc/udkapi -I$(OUTDIR)/inc/offapi -LIBS = $(foreach LIB, bin/cppunit/cppunittester lib/bootstrap.uno lib/configmgr.uno lib/expwrap.uno lib/fastsax.uno lib/i18npool.uno lib/introspection.uno lib/reflection.uno lib/stocservices.uno lib/unobootstrapprotector lib/unoexceptionprotector, -Wl,$(OUTDIR)/$(LIB).a) $(SOLARLIB) -lacclo -lanalysislo -lascii_expat_xmlparse -lavmedialo -lbasegfxlo -lcanvastoolslo -llcms2 -lcollator_data -lcomphelpgcc3 -lcppcanvaslo -lcppunit -lcrypto -lcuilo -ldatelo -ldbtoolslo -ldict_ja -ldict_zh -ldrawinglayerlo -leditenglo -legilo -lemelo -lepblo -lepglo -lepplo -lepslo -leptlo -leralo -letilo -lexpat_xmlparse -lexpat_xmltok -lexplo -lfilterconfiglo -lforlo -lforuilo -lfwelo -lfwilo -lfwklo -lgcc3_uno -li18nisolang1gcc3 -li18nutilgcc3 -licdlo -licudata -licui18n -licuuc -lidxlo -limelo -lindex_data -lipblo -lipdlo -lipslo -liptlo -lipxlo -liralo -litglo -litilo -ljpeg -ljvmfwk -llnglo -llocaledata_en -llocaledata_es -llocaledata_euro -llocaledata_others -lmsfilterlo -lorcus -looxlo -l package2 -lreg -lsal_textenc -lsalcpprt -lsaxlo -lsax_shared -lscfiltlo -lsclo -lscuilo -lsfxlo -lsotlo -lstore -lsvllo -lsvtlo -lsvxlo -lsvxcorelo -ltest -ltextconv_dict -ltklo -ltllo -lucb1 -lucbhelper4gcc3 -lucpfile1 -lunoxmllo -luno_cppuhelpergcc3 -luno_cppu -luno_sal -luno_salhelpergcc3 -lunotest -lutllo -lvcllo -lxmlscriptlo -lxml2 -lxmlreader -lxolo -lxstor -lz $(addprefix -framework , $(gb_Library__FRAMEWORKS)) -liconv -lobjc +LIBS = \ + $(addprefix -Wl$(COMMA),$(wildcard $(OUTDIR)/lib/*.a)) \ + $(addprefix -framework , $(gb_Library__FRAMEWORKS)) \ + -lz \ + -liconv all: $(APPDIR)/$(APP) stuff $(APPDIR)/$(APP): $(SRCS) mkdir -p $(APPDIR) - $(CXX) -Wl,-map,$(APP).map.mangled -o $@ $(gb_GLOBALDEFS) $(CFLAGS) $(gb_OBJCXXFLAGS) $(MOREINCLUDES) $(SRCS) $(LIBS) + $(CXX) -v -miphoneos-version-min=4.3 -fobjc-link-runtime -Wl,-map,$(APP).map.mangled -o $@ $(gb_GLOBALDEFS) $(CFLAGS) $(gb_OBJCXXFLAGS) $(MOREINCLUDES) $(SRCS) $(LIBS) c++filt <$(APP).map.mangled >$(APP).map && rm $(APP).map.mangled stuff: commit efb1d98765b3bdf0e71dfc7df7850563d18a6c58 Author: Tor Lillqvist <t...@iki.fi> Date: Mon Nov 26 17:31:36 2012 +0200 Use same component map as in the Android DocumentLoader Change-Id: I10c8a6806fd106128e151d470a51caa54aa074e8 diff --git a/ios/experimental/DocumentLoader/docloader.mm b/ios/experimental/DocumentLoader/docloader.mm index 595d575..fe23934 100644 --- a/ios/experimental/DocumentLoader/docloader.mm +++ b/ios/experimental/DocumentLoader/docloader.mm @@ -33,35 +33,98 @@ using namespace com::sun::star::registry; using ::rtl::OUString; using ::rtl::OUStringToOString; -#ifdef __cplusplus extern "C" { -#endif + extern void * animcore_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * avmedia_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * dba_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * dbaxml_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * evtatt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * fileacc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * frm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * fsstorage_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * fwk_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * fwl_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * fwm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * hwp_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * hyphen_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * lng_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * lnth_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * lotuswordpro_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * oox_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sb_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * scd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * scfilt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sdd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sm_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * smd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * spell_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * svgfilter_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * sw_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * swd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * t602filter_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * textfd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * unoxml_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * unordf_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * wpftdraw_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * wpftwriter_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * xmlfd_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * xmlsecurity_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * xo_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); + extern void * xof_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); -extern void * analysis_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); -extern void * date_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); -extern void * sc_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); -extern void * scfilt_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); -extern void * unoxml_component_getFactory( const char * pImplName, void * pServiceManager, void * pRegistryKey ); +} +extern "C" const lib_to_component_mapping * lo_get_libmap(void) { static lib_to_component_mapping map[] = { - { "libanalysislo.a", analysis_component_getFactory }, - { "libdatelo.a", date_component_getFactory }, + { "libanimcorelo.a", animcore_component_getFactory }, + { "libavmedialo.a", avmedia_component_getFactory }, + { "libdbalo.a", dba_component_getFactory }, + { "libdbaxmllo.a", dbaxml_component_getFactory }, + { "libevtattlo.a", evtatt_component_getFactory }, + { "libfileacc.a", fileacc_component_getFactory }, + { "libfrmlo.a", frm_component_getFactory }, + { "libfsstorage.uno.a", fsstorage_component_getFactory }, + { "libfwklo.a", fwk_component_getFactory }, + { "libfwllo.a", fwl_component_getFactory }, + { "libfwmlo.a", fwm_component_getFactory }, + { "libhwplo.a", hwp_component_getFactory }, + { "libhyphenlo.a", hyphen_component_getFactory }, + { "liblnglo.a", lng_component_getFactory }, + { "liblnthlo.a", lnth_component_getFactory }, + { "liblwpftlo.a", lotuswordpro_component_getFactory }, + { "libooxlo.a", oox_component_getFactory }, + { "libscdlo.a", scd_component_getFactory }, { "libscfiltlo.a", scfilt_component_getFactory }, + { "libsblo.a", sb_component_getFactory }, { "libsclo.a", sc_component_getFactory }, + { "libsddlo.a", sdd_component_getFactory }, + { "libsdlo.a", sd_component_getFactory }, + { "libsmdlo.a", smd_component_getFactory }, + { "libsmlo.a", sm_component_getFactory }, + { "libsvgfilterlo.a", svgfilter_component_getFactory }, + { "libswdlo.a", swd_component_getFactory }, + { "libswlo.a", sw_component_getFactory }, + { "libt602filterlo.a", t602filter_component_getFactory }, + { "libtextfdlo.a", textfd_component_getFactory }, + { "libunordflo.a", unordf_component_getFactory }, { "libunoxmllo.a", unoxml_component_getFactory }, + { "libwpftdrawlo.a", wpftdraw_component_getFactory }, + { "libwpftwriterlo.a", wpftwriter_component_getFactory }, + { "libxmlfdlo.a", xmlfd_component_getFactory }, + { "libxmlsecurity.a", xmlsecurity_component_getFactory }, + { "libxoflo.a", xof_component_getFactory }, + { "libxolo.a", xo_component_getFactory }, { NULL, NULL } }; return map; } -#ifdef __cplusplus -} -#endif - int main(int argc, char ** argv) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits