[Libreoffice-commits] core.git: basctl/source basic/inc basic/source bean/inc bean/Library_officebean.mk bean/native bridges/source chart2/source compilerplugins/clang cppuhelper/source cppu/source desktop/inc desktop/source editeng/source embeddedobj/source filter/source forms/source include/vcl jvmfwk/plugins reportdesign/source rsc/source sal/osl scripting/source sc/source sd/inc sd/source sfx2/inc sfx2/source svx/source sw/inc sw/Library_swui.mk sw/source toolkit/source vcl/inc vcl/osx vcl/source vcl/unx writerfilter/CppunitTest_writerfilter_misc.mk writerfilter/qa writerfilter/source

Noel Grandin noel at peralex.com
Fri Jul 11 05:21:32 PDT 2014


 basctl/source/basicide/baside2.cxx                             |    3 
 basctl/source/basicide/baside3.cxx                             |    4 
 basctl/source/basicide/localizationmgr.cxx                     |    4 
 basctl/source/inc/baside3.hxx                                  |    2 
 basic/inc/sb.hxx                                               |    2 
 basic/source/classes/sbunoobj.cxx                              |   21 
 basic/source/classes/sbxmod.cxx                                |   19 
 basic/source/comp/dim.cxx                                      |    2 
 basic/source/inc/sbunoobj.hxx                                  |    3 
 basic/source/inc/sbxmod.hxx                                    |   27 
 basic/source/runtime/methods.cxx                               |    4 
 bean/Library_officebean.mk                                     |    5 
 bean/inc/comp_LocalOfficeWindow.h                              |   28 
 bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c        |    4 
 bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c   |    1 
 bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c       |    4 
 bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c  |    2 
 bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx              |    2 
 bridges/source/cpp_uno/gcc3_linux_arm/share.hxx                |    2 
 bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx            |    6 
 bridges/source/cpp_uno/gcc3_linux_intel/share.hxx              |    7 
 bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx           |    2 
 bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx             |    2 
 bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx           |    6 
 bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx             |    7 
 bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx            |    2 
 bridges/source/cpp_uno/mingw_intel/cpp2uno.cxx                 |    6 
 bridges/source/cpp_uno/mingw_intel/share.hxx                   |    7 
 bridges/source/cpp_uno/mingw_x86-64/cpp2uno.cxx                |    2 
 bridges/source/cpp_uno/mingw_x86-64/share.hxx                  |    2 
 chart2/source/inc/charttoolsdllapi.hxx                         |    3 
 chart2/source/model/main/_serviceregistration_model.cxx        |    3 
 compilerplugins/clang/externandnotdefined.cxx                  |   79 ++
 cppu/source/typelib/static_types.cxx                           |   18 
 cppu/source/typelib/typelib.cxx                                |   12 
 cppu/source/typelib/typelib.hxx                                |   43 +
 cppuhelper/source/implbase.cxx                                 |   10 
 cppuhelper/source/implbase_ex.cxx                              |   10 
 desktop/inc/app.hxx                                            |    2 
 desktop/source/app/cmdlinehelp.cxx                             |    2 
 desktop/source/app/sofficemain.cxx                             |    3 
 editeng/source/uno/unofored.cxx                                |    1 
 editeng/source/uno/unofored_internal.hxx                       |   29 
 editeng/source/uno/unoforou.cxx                                |    3 
 embeddedobj/source/commonembedding/embedobj.cxx                |    2 
 embeddedobj/source/commonembedding/embedobj.hxx                |   27 
 embeddedobj/source/commonembedding/inplaceobj.cxx              |    2 
 embeddedobj/source/commonembedding/miscobj.cxx                 |    5 
 embeddedobj/source/commonembedding/persistence.cxx             |    1 
 embeddedobj/source/commonembedding/persistence.hxx             |   29 
 embeddedobj/source/msole/olemisc.cxx                           |    3 
 embeddedobj/source/msole/olepersist.hxx                        |    2 
 embeddedobj/source/msole/ownview.cxx                           |    2 
 filter/source/flash/swfwriter.hxx                              |    2 
 filter/source/flash/swfwriter1.cxx                             |    2 
 forms/source/component/scrollbar.hxx                           |    8 
 forms/source/component/spinbutton.cxx                          |    7 
 include/vcl/svmain.hxx                                         |   33 
 jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx               |    3 
 reportdesign/source/filter/xml/xmlExportDocumentHandler.hxx    |    4 
 reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx    |    3 
 rsc/source/prj/gui.hxx                                         |    3 
 rsc/source/prj/start.cxx                                       |    6 
 sal/osl/unx/module.cxx                                         |    4 
 sal/osl/unx/mutex.c                                            |    2 
 sal/osl/unx/pipe.c                                             |    2 
 sal/osl/unx/profile.cxx                                        |    4 
 sal/osl/unx/secimpl.h                                          |    2 
 sal/osl/unx/security.cxx                                       |    1 
 sc/source/core/data/documen2.cxx                               |    3 
 sc/source/filter/rtf/eeimpars.cxx                              |    4 
 sc/source/ui/docshell/docsh5.cxx                               |    3 
 sc/source/ui/drawfunc/drawsh2.cxx                              |    3 
 sc/source/ui/drawfunc/drawsh5.cxx                              |    3 
 sc/source/ui/inc/docfunc.hxx                                   |    2 
 sc/source/ui/inc/docsh.hxx                                     |    2 
 sc/source/ui/inc/fuinsert.hxx                                  |    3 
 sc/source/ui/vba/vbapagesetup.cxx                              |    3 
 sc/source/ui/vba/vbarange.cxx                                  |    2 
 sc/source/ui/vba/vbarange.hxx                                  |    7 
 sc/source/ui/view/viewfun2.cxx                                 |    3 
 scripting/source/dlgprov/DialogModelProvider.cxx               |   19 
 scripting/source/dlgprov/dlgprov.hxx                           |   13 
 sd/inc/CustomAnimationPreset.hxx                               |    5 
 sd/source/core/TransitionPreset.cxx                            |    4 
 sd/source/ui/animations/CustomAnimationCreateDialog.cxx        |    2 
 sd/source/ui/animations/CustomAnimationDialog.cxx              |    4 
 sd/source/ui/animations/CustomAnimationList.cxx                |    2 
 sd/source/ui/animations/CustomAnimationList.hxx                |    4 
 sd/source/ui/animations/CustomAnimationPane.hxx                |    2 
 sd/source/ui/annotations/annotationmanager.cxx                 |    2 
 sd/source/ui/annotations/annotationmanagerimpl.hxx             |    6 
 sd/source/ui/annotations/annotationwindow.cxx                  |    4 
 sd/source/ui/annotations/annotationwindow.hxx                  |    4 
 sd/source/ui/controller/slidelayoutcontroller.cxx              |    3 
 sd/source/ui/inc/ViewShellBase.hxx                             |    3 
 sd/source/ui/inc/unopage.hxx                                   |  320 ++++++++
 sd/source/ui/slideshow/slideshow.cxx                           |    3 
 sd/source/ui/slideshow/slideshowimpl.cxx                       |    3 
 sd/source/ui/unoidl/unoobj.cxx                                 |    2 
 sd/source/ui/unoidl/unopage.hxx                                |  318 --------
 sfx2/inc/sfxbasecontroller_internal.hxx                        |   18 
 sfx2/source/bastyp/progress.cxx                                |   10 
 sfx2/source/doc/objmisc.cxx                                    |   22 
 sfx2/source/doc/objstor.cxx                                    |    1 
 sfx2/source/doc/objstor.hxx                                    |   27 
 sfx2/source/inc/appopen.hxx                                    |    4 
 sfx2/source/view/sfxbasecontroller.cxx                         |    1 
 svx/source/stbctrls/modctrl.cxx                                |    1 
 svx/source/stbctrls/modctrl_internal.hxx                       |   26 
 svx/source/stbctrls/zoomctrl.cxx                               |    3 
 svx/source/svdraw/svdoutlinercache.cxx                         |    3 
 sw/Library_swui.mk                                             |    1 
 sw/inc/dcontact.hxx                                            |    4 
 sw/inc/finalthreadmanager.hxx                                  |   96 ++
 sw/inc/reffld.hxx                                              |    3 
 sw/inc/swtable.hxx                                             |    2 
 sw/inc/unocoll.hxx                                             |    3 
 sw/inc/unotbl.hxx                                              |    6 
 sw/source/core/crsr/viscrs.cxx                                 |    3 
 sw/source/core/doc/docedt.cxx                                  |    1 
 sw/source/core/doc/docfld.cxx                                  |    3 
 sw/source/core/doc/htmltbl.cxx                                 |    6 
 sw/source/core/doc/notxtfrm.cxx                                |    3 
 sw/source/core/docnode/ndsect.cxx                              |    1 
 sw/source/core/docnode/ndsect.hxx                              |   28 
 sw/source/core/docnode/section.cxx                             |    3 
 sw/source/core/draw/dcontact.cxx                               |    1 
 sw/source/core/frmedt/fefly1.cxx                               |    1 
 sw/source/core/inc/docedt.hxx                                  |   29 
 sw/source/core/inc/fefly.hxx                                   |   28 
 sw/source/core/inc/finalthreadmanager.hxx                      |   96 --
 sw/source/core/inc/fntcap.hxx                                  |   32 
 sw/source/core/inc/frmtool.hxx                                 |    4 
 sw/source/core/inc/ftnfrm.hxx                                  |    2 
 sw/source/core/inc/paintfrm.hxx                                |   27 
 sw/source/core/inc/swfont.hxx                                  |    2 
 sw/source/core/inc/txtfly.hxx                                  |  380 ++++++++++
 sw/source/core/layout/anchoreddrawobject.cxx                   |    1 
 sw/source/core/layout/atrfrm.cxx                               |    3 
 sw/source/core/layout/colfrm.cxx                               |    4 
 sw/source/core/layout/fly.cxx                                  |    1 
 sw/source/core/layout/frmtool.cxx                              |    3 
 sw/source/core/layout/pagechg.cxx                              |    1 
 sw/source/core/layout/paintfrm.cxx                             |    9 
 sw/source/core/layout/tabfrm.cxx                               |    3 
 sw/source/core/text/txtfly.hxx                                 |  378 ---------
 sw/source/core/tox/txmsrt.cxx                                  |    4 
 sw/source/core/txtnode/fntcache.cxx                            |    8 
 sw/source/core/txtnode/fntcap.cxx                              |    1 
 sw/source/core/undo/unredln.cxx                                |    4 
 sw/source/core/unocore/unochart.cxx                            |    5 
 sw/source/core/unocore/unoframe.cxx                            |    4 
 sw/source/core/unocore/unotbl.cxx                              |    4 
 sw/source/core/view/pagepreviewlayout.cxx                      |    5 
 sw/source/core/view/viewpg.cxx                                 |    4 
 sw/source/core/view/vprint.cxx                                 |    1 
 sw/source/core/view/vprint.hxx                                 |   28 
 sw/source/filter/html/css1atr.cxx                              |    1 
 sw/source/filter/html/css1atr.hxx                              |   28 
 sw/source/filter/html/htmlcss1.cxx                             |    3 
 sw/source/filter/html/htmlfldw.cxx                             |    2 
 sw/source/filter/html/swhtml.cxx                               |    3 
 sw/source/filter/xml/xmltble.cxx                               |    1 
 sw/source/ui/dbui/dbinsdlg.cxx                                 |    6 
 sw/source/ui/dialog/swuiexp.cxx                                |    1 
 sw/source/ui/envelp/envfmt.cxx                                 |    6 
 sw/source/ui/envelp/label1.cxx                                 |    4 
 sw/source/ui/fldui/fldedt.cxx                                  |    5 
 sw/source/ui/inc/swuiexp.hxx                                   |   29 
 sw/source/ui/table/convert.cxx                                 |    6 
 sw/source/ui/table/instable.cxx                                |    6 
 sw/source/uibase/app/appenv.cxx                                |    1 
 sw/source/uibase/app/appenv.hxx                                |   18 
 sw/source/uibase/app/applab.cxx                                |    4 
 sw/source/uibase/app/swdllimpl.hxx                             |    2 
 sw/source/uibase/inc/textsh.hxx                                |    2 
 sw/source/uibase/lingu/olmenu.cxx                              |    3 
 sw/source/uibase/uno/unofreg.cxx                               |   16 
 toolkit/source/awt/vclxspinbutton.cxx                          |    8 
 toolkit/source/awt/vclxwindows.cxx                             |    1 
 toolkit/source/awt/vclxwindows_internal.hxx                    |   31 
 toolkit/source/controls/controlmodelcontainerbase.cxx          |    4 
 toolkit/source/controls/controlmodelcontainerbase_internal.hxx |   28 
 toolkit/source/controls/dialogcontrol.cxx                      |    4 
 vcl/inc/salinst.hxx                                            |    2 
 vcl/inc/svmain.hxx                                             |   30 
 vcl/osx/salinst.cxx                                            |    2 
 vcl/source/app/svmain.cxx                                      |    2 
 vcl/source/app/svmainhook.cxx                                  |    2 
 vcl/source/filter/graphicfilter.cxx                            |    1 
 vcl/source/filter/graphicfilter2.cxx                           |    5 
 vcl/source/filter/graphicfilter_internal.hxx                   |   31 
 vcl/source/salmain/salmain.cxx                                 |    1 
 vcl/source/window/dlgctrl.cxx                                  |    4 
 vcl/source/window/dlgctrl.hxx                                  |   37 
 vcl/source/window/legacyaccessibility.cxx                      |   12 
 vcl/unx/generic/app/i18n_im.cxx                                |    3 
 writerfilter/CppunitTest_writerfilter_misc.mk                  |   15 
 writerfilter/qa/cppunittests/misc/misc.cxx                     |   15 
 writerfilter/source/dmapper/DomainMapperTableManager.hxx       |    6 
 writerfilter/source/dmapper/DomainMapper_Impl.hxx              |   27 
 writerfilter/source/dmapper/FormControlHelper.hxx              |    2 
 writerfilter/source/dmapper/StyleSheetTable.hxx                |    4 
 writerfilter/source/dmapper/TablePropertiesHandler.hxx         |    2 
 205 files changed, 1869 insertions(+), 1235 deletions(-)

New commits:
commit dac4ca5f682fdd0c3eee7f7ee1d98c9b3c8b7ce4
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Jun 25 14:57:44 2014 +0200

    new loplugin: externalandnotdefined
    
    Find "missing headers," where a function is declared directly in the
    .cxx (as extern) and not defined, and should arguably instead be declared
    in an include file.
    
    Change-Id: I6d83ee432b2ab0cd050aec2b27c3658d32ac02a2

diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx
index e9f44ad..d820fe9 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "baside2.hxx"
+#include "baside3.hxx"
 #include "brkdlg.hxx"
 #include "iderdll.hxx"
 #include "iderdll2.hxx"
@@ -506,8 +507,6 @@ bool ModulWindow::SaveBasicSource()
     return bDone;
 }
 
-extern bool implImportDialog( Window* pWin, const OUString& rCurPath, const ScriptDocument& rDocument, const OUString& aLibName ); // defined in baside3.cxx
-
 bool ModulWindow::ImportDialog()
 {
     const ScriptDocument& rDocument = GetDocument();
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index 470219c..ab106f6 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -33,6 +33,7 @@
 #include "localizationmgr.hxx"
 #include "propbrw.hxx"
 #include "objdlg.hxx"
+#include "managelang.hxx"
 
 #include <basic/basmgr.hxx>
 #include <com/sun/star/resource/StringResourceWithLocation.hpp>
@@ -863,9 +864,6 @@ bool DialogWindow::SaveDialog()
     return bDone;
 }
 
-extern bool localesAreEqual( const ::com::sun::star::lang::Locale& rLocaleLeft,
-                             const ::com::sun::star::lang::Locale& rLocaleRight );
-
 std::vector< lang::Locale > implGetLanguagesOnlyContainedInFirstSeq
     ( const Sequence< lang::Locale >& aFirstSeq, const Sequence< lang::Locale >& aSecondSeq )
 {
diff --git a/basctl/source/basicide/localizationmgr.cxx b/basctl/source/basicide/localizationmgr.cxx
index c34ac55..34d8acb 100644
--- a/basctl/source/basicide/localizationmgr.cxx
+++ b/basctl/source/basicide/localizationmgr.cxx
@@ -24,6 +24,7 @@
 #include "basobj.hxx"
 #include "iderdll.hxx"
 #include "dlged.hxx"
+#include "managelang.hxx"
 
 #include <com/sun/star/resource/XStringResourceSupplier.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
@@ -184,9 +185,6 @@ OUString implCreatePureResourceId
     return aPureIdStr;
 }
 
-extern bool localesAreEqual( const ::com::sun::star::lang::Locale& rLocaleLeft,
-                             const ::com::sun::star::lang::Locale& rLocaleRight );
-
 // Works on xStringResourceManager's current language for SET_IDS/RESET_IDS,
 // anyway only one language should exist when calling this method then,
 // either the first one for mode SET_IDS or the last one for mode RESET_IDS
diff --git a/basctl/source/inc/baside3.hxx b/basctl/source/inc/baside3.hxx
index 3faed78..e5fb443 100644
--- a/basctl/source/inc/baside3.hxx
+++ b/basctl/source/inc/baside3.hxx
@@ -50,6 +50,8 @@ class DlgEdView;
 class DialogWindowLayout;
 class ObjectCatalog;
 
+bool implImportDialog( Window* pWin, const OUString& rCurPath, const ScriptDocument& rDocument, const OUString& aLibName );
+
 class DialogWindow: public BaseWindow
 {
 private:
diff --git a/basic/inc/sb.hxx b/basic/inc/sb.hxx
index cd028f7..ce78553 100644
--- a/basic/inc/sb.hxx
+++ b/basic/inc/sb.hxx
@@ -31,6 +31,8 @@
 // create object from user-type  (+StringID+StringID)
 SbxObject* createUserTypeImpl( const OUString& rClassName );
 
+SbxObject* cloneTypeObjectImpl( const SbxObject& rTypeObj );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index 1d8dc31..2e6aa8f 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -72,17 +72,6 @@
 
 #include <rtlproto.hxx>
 
-using com::sun::star::uno::Reference;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::reflection;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::script;
-using namespace com::sun::star::container;
-using namespace com::sun::star::bridge;
-using namespace cppu;
-
-
 #include <basic/sbstar.hxx>
 #include <basic/sbuno.hxx>
 #include <basic/sberrors.hxx>
@@ -98,6 +87,16 @@ using namespace cppu;
 #include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.hpp>
 #include <com/sun/star/reflection/XConstantsTypeDescription.hpp>
 
+using com::sun::star::uno::Reference;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::reflection;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::script;
+using namespace com::sun::star::container;
+using namespace com::sun::star::bridge;
+using namespace cppu;
+
 TYPEINIT1(SbUnoMethod,SbxMethod)
 TYPEINIT1(SbUnoProperty,SbxProperty)
 TYPEINIT1(SbUnoObject,SbxObject)
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index 7102950..c8b20902 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -55,8 +55,6 @@
 #include <com/sun/star/document/XEventBroadcaster.hpp>
 #include <com/sun/star/document/XEventListener.hpp>
 
-using namespace com::sun::star;
-
 #ifdef UNX
 #include <sys/resource.h>
 #endif
@@ -71,13 +69,6 @@ using namespace com::sun::star;
 #include <com/sun/star/uno/XAggregation.hpp>
 #include <com/sun/star/script/XInvocation.hpp>
 
-using namespace ::com::sun::star;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::reflection;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::script;
-using namespace com::sun::star::uno;
-
 #include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/awt/DialogProvider.hpp>
 #include <com/sun/star/awt/XTopWindow.hpp>
@@ -86,6 +77,14 @@ using namespace com::sun::star::uno;
 #include <comphelper/anytostring.hxx>
 #include <ooo/vba/VbQueryClose.hpp>
 #include "sbcomp.hxx"
+#include "sbxmod.hxx"
+
+using namespace com::sun::star;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::reflection;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::script;
+using namespace com::sun::star::uno;
 
 typedef ::cppu::WeakImplHelper1< XInvocation > DocObjectWrapper_BASE;
 typedef ::std::map< sal_Int16, Any, ::std::less< sal_Int16 > > OutParamMap;
@@ -2662,8 +2661,6 @@ void SbUserFormModule::Unload()
 }
 
 
-void registerComponentToBeDisposedForBasic( Reference< XComponent > xComponent, StarBASIC* pBasic );
-
 void SbUserFormModule::InitObject()
 {
     try
diff --git a/basic/source/comp/dim.cxx b/basic/source/comp/dim.cxx
index 58db8ff..e5e4c16 100644
--- a/basic/source/comp/dim.cxx
+++ b/basic/source/comp/dim.cxx
@@ -34,8 +34,6 @@
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 
-SbxObject* cloneTypeObjectImpl( const SbxObject& rTypeObj );
-
 // Declaration of a variable
 // If there are errors it will be parsed up to the comma or the newline.
 // Return-value: a new instance, which were inserted and then deleted.
diff --git a/basic/source/inc/sbunoobj.hxx b/basic/source/inc/sbunoobj.hxx
index 29033ff..aa5c2f9 100644
--- a/basic/source/inc/sbunoobj.hxx
+++ b/basic/source/inc/sbunoobj.hxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/beans/XExactName.hpp>
 #include <com/sun/star/beans/XIntrospectionAccess.hpp>
 #include <com/sun/star/beans/XIntrospection.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/script/XInvocation.hpp>
 #include <com/sun/star/reflection/XIdlClass.hpp>
 #include <com/sun/star/reflection/XServiceTypeDescription2.hpp>
@@ -38,6 +39,8 @@
 #include <map>
 #include <boost/shared_ptr.hpp>
 
+void registerComponentToBeDisposedForBasic( css::uno::Reference< css::lang::XComponent > xComponent, StarBASIC* pBasic );
+
 class StructRefInfo
 {
     com::sun::star::uno::Any& maAny;
diff --git a/basic/source/inc/sbxmod.hxx b/basic/source/inc/sbxmod.hxx
new file mode 100644
index 0000000..3784c7f
--- /dev/null
+++ b/basic/source/inc/sbxmod.hxx
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_BASIC_SOURCE_INC_SBXMOD_HXX
+#define INCLUDED_BASIC_SOURCE_INC_SBXMOD_HXX
+
+css::uno::Reference< css::frame::XModel > getDocumentModel( StarBASIC* );
+
+#endif // INCLUDED_BASIC_SOURCE_INC_SBXMOD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 95ac76e..3397f56 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -85,6 +85,7 @@ using namespace com::sun::star::uno;
 #include <errno.h>
 
 #include "sbobjmod.hxx"
+#include "sbxmod.hxx"
 
 #ifdef WNT
 #include <prewin.h>
@@ -95,9 +96,6 @@ using namespace com::sun::star::uno;
 
 #ifndef DISABLE_SCRIPTING
 
-// from source/classes/sbxmod.cxx
-uno::Reference< frame::XModel > getDocumentModel( StarBASIC* );
-
 static void FilterWhiteSpace( OUString& rStr )
 {
     if (rStr.isEmpty())
diff --git a/bean/Library_officebean.mk b/bean/Library_officebean.mk
index a865e74..ad620cb 100644
--- a/bean/Library_officebean.mk
+++ b/bean/Library_officebean.mk
@@ -11,6 +11,11 @@
 
 $(eval $(call gb_Library_Library,officebean))
 
+$(eval $(call gb_Library_set_include,officebean,\
+	$$(INCLUDE) \
+	-I$(SRCDIR)/bean/inc \
+))
+
 $(eval $(call gb_Library_use_externals,officebean,\
 	jawt \
 ))
diff --git a/bean/inc/comp_LocalOfficeWindow.h b/bean/inc/comp_LocalOfficeWindow.h
new file mode 100644
index 0000000..e540e3b
--- /dev/null
+++ b/bean/inc/comp_LocalOfficeWindow.h
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "sal/config.h"
+#include "sal/types.h"
+#include "jni.h"
+
+SAL_DLLPUBLIC_EXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
+  (JNIEnv * env, jobject obj_this);
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c b/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
index 7919382..2acabb6 100644
--- a/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
+++ b/bean/native/unix/com_sun_star_beans_LocalOfficeWindow.c
@@ -29,12 +29,10 @@
 #include "jawt.h"
 
 #include "sal/types.h"
+#include "comp_LocalOfficeWindow.h"
 
 #define SYSTEM_XWINDOW 6
 
-SAL_DLLPUBLIC_EXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
-  (JNIEnv * env, jobject obj_this);
-
 /*****************************************************************************/
 /*
  * Class:     com_sun_star_comp_beans_LocalOfficeWindow
diff --git a/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c b/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
index 0bd0e04..c3452b2 100644
--- a/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
+++ b/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
@@ -29,6 +29,7 @@
 #include "jawt.h"
 
 #include "sal/types.h"
+#include "comp_LocalOfficeWindow.h"
 
 #define SYSTEM_XWINDOW 6
 
diff --git a/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c b/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
index 0409420..15c7fa5 100644
--- a/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
+++ b/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
@@ -26,12 +26,10 @@
 #endif
 
 #include "jawt.h"
+#include "comp_LocalOfficeWindow.h"
 
 #define SYSTEM_WIN32   1
 
-JNIEXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNativeWindow
-  (JNIEnv * env, jobject obj_this);
-
 /*****************************************************************************/
 /*
  * Class:     com_sun_star_beans_LocalOfficeWindow
diff --git a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
index b4c4162..dc0b7f9 100644
--- a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
+++ b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
@@ -29,6 +29,8 @@
 #include "jawt.h"
 #undef JAWT_GetAWT
 
+#include "comp_LocalOfficeWindow.h"
+
 #if defined _MSC_VER
 #pragma warning(push, 1)
 #endif
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
index 99147e3..0c7666a 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
@@ -456,8 +456,6 @@ extern "C" sal_Int64 cpp_vtable_call( long *pFunctionAndOffset,
     return nRegReturn;
 }
 
-extern "C" void privateSnippetExecutor(void);
-
 namespace
 {
     const int codeSnippetSize = 20;
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx b/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
index 6622ba4..1bde6e3 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
@@ -79,6 +79,8 @@ namespace CPPU_CURRENT_NAMESPACE
         __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
 }
 
+extern "C" void privateSnippetExecutor(void);
+
 namespace arm
 {
     enum armlimits { MAX_GPR_REGS = 4, MAX_FPR_REGS = 8 };
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
index d75b9a1..7bfa312 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
@@ -331,12 +331,6 @@ extern "C" void cpp_vtable_call(
     }
 }
 
-extern "C" void privateSnippetExecutorGeneral();
-extern "C" void privateSnippetExecutorVoid();
-extern "C" void privateSnippetExecutorHyper();
-extern "C" void privateSnippetExecutorFloat();
-extern "C" void privateSnippetExecutorDouble();
-extern "C" void privateSnippetExecutorClass();
 extern "C" typedef void (*PrivateSnippetExecutor)();
 
 int const codeSnippetSize = 16;
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
index e247fdb..512ae6d 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
@@ -105,6 +105,13 @@ extern "C" void __cxa_throw(
 }
 #endif
 
+extern "C" void privateSnippetExecutorGeneral();
+extern "C" void privateSnippetExecutorVoid();
+extern "C" void privateSnippetExecutorHyper();
+extern "C" void privateSnippetExecutorFloat();
+extern "C" void privateSnippetExecutorDouble();
+extern "C" void privateSnippetExecutorClass();
+
 namespace CPPU_CURRENT_NAMESPACE
 {
 
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
index 49aceed..9bb5149 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
@@ -386,8 +386,6 @@ typelib_TypeClass cpp_vtable_call(
     return eRet;
 }
 
-extern "C" void privateSnippetExecutor( ... );
-
 const int codeSnippetSize = 24;
 
 // Generate a trampoline that redirects method calls to
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
index f2e7340..732fe5b 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
@@ -130,6 +130,8 @@ extern "C" void __cxa_throw(
 
 #endif
 
+extern "C" void privateSnippetExecutor( ... );
+
 namespace CPPU_CURRENT_NAMESPACE
 {
 
diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
index eafc26c..2ab17ef 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
@@ -343,12 +343,6 @@ extern "C" void cpp_vtable_call(
     }
 }
 
-extern "C" void privateSnippetExecutorGeneral();
-extern "C" void privateSnippetExecutorVoid();
-extern "C" void privateSnippetExecutorHyper();
-extern "C" void privateSnippetExecutorFloat();
-extern "C" void privateSnippetExecutorDouble();
-extern "C" void privateSnippetExecutorClass();
 extern "C" typedef void (*PrivateSnippetExecutor)();
 
 int const codeSnippetSize = 16;
diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx b/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx
index df428b5..172a857 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx
@@ -83,5 +83,12 @@ void fillUnoException(
     __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
 }
 
+extern "C" void privateSnippetExecutorGeneral();
+extern "C" void privateSnippetExecutorVoid();
+extern "C" void privateSnippetExecutorHyper();
+extern "C" void privateSnippetExecutorFloat();
+extern "C" void privateSnippetExecutorDouble();
+extern "C" void privateSnippetExecutorClass();
+
 #endif
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
index aaf83a2..885e25c 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
@@ -128,6 +128,8 @@ struct __cxa_eh_globals
 
 }
 
+extern "C" void privateSnippetExecutor();
+
 extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw();
 
 namespace CPPU_CURRENT_NAMESPACE
diff --git a/bridges/source/cpp_uno/mingw_intel/cpp2uno.cxx b/bridges/source/cpp_uno/mingw_intel/cpp2uno.cxx
index 49b7bd0..184c468 100644
--- a/bridges/source/cpp_uno/mingw_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/mingw_intel/cpp2uno.cxx
@@ -339,12 +339,6 @@ extern "C" void cpp_vtable_call(
     }
 }
 
-extern "C" void privateSnippetExecutorGeneral();
-extern "C" void privateSnippetExecutorVoid();
-extern "C" void privateSnippetExecutorHyper();
-extern "C" void privateSnippetExecutorFloat();
-extern "C" void privateSnippetExecutorDouble();
-extern "C" void privateSnippetExecutorClass();
 extern "C" typedef void (*PrivateSnippetExecutor)();
 
 int const codeSnippetSize = 16;
diff --git a/bridges/source/cpp_uno/mingw_intel/share.hxx b/bridges/source/cpp_uno/mingw_intel/share.hxx
index 465dfc6..b39ed6b 100644
--- a/bridges/source/cpp_uno/mingw_intel/share.hxx
+++ b/bridges/source/cpp_uno/mingw_intel/share.hxx
@@ -72,6 +72,13 @@ struct __cxa_eh_globals
 
 }
 
+extern "C" void privateSnippetExecutorGeneral();
+extern "C" void privateSnippetExecutorVoid();
+extern "C" void privateSnippetExecutorHyper();
+extern "C" void privateSnippetExecutorFloat();
+extern "C" void privateSnippetExecutorDouble();
+extern "C" void privateSnippetExecutorClass();
+
 extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw();
 
 namespace CPPU_CURRENT_NAMESPACE
diff --git a/bridges/source/cpp_uno/mingw_x86-64/cpp2uno.cxx b/bridges/source/cpp_uno/mingw_x86-64/cpp2uno.cxx
index ee89e4f..25d9497 100644
--- a/bridges/source/cpp_uno/mingw_x86-64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/mingw_x86-64/cpp2uno.cxx
@@ -384,8 +384,6 @@ extern "C" typelib_TypeClass cpp_vtable_call(
     return eRet;
 }
 
-extern "C" void privateSnippetExecutor( ... );
-
 const int codeSnippetSize = 24;
 
 // Generate a trampoline that redirects method calls to
diff --git a/bridges/source/cpp_uno/mingw_x86-64/share.hxx b/bridges/source/cpp_uno/mingw_x86-64/share.hxx
index e73df13..61d278d 100644
--- a/bridges/source/cpp_uno/mingw_x86-64/share.hxx
+++ b/bridges/source/cpp_uno/mingw_x86-64/share.hxx
@@ -72,6 +72,8 @@ struct __cxa_eh_globals
 
 }
 
+extern "C" void privateSnippetExecutor( ... );
+
 extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw();
 
 namespace CPPU_CURRENT_NAMESPACE
diff --git a/chart2/source/inc/charttoolsdllapi.hxx b/chart2/source/inc/charttoolsdllapi.hxx
index 570e92b..0ae3cc4 100644
--- a/chart2/source/inc/charttoolsdllapi.hxx
+++ b/chart2/source/inc/charttoolsdllapi.hxx
@@ -30,6 +30,9 @@
 #define OOO_DLLPUBLIC_CHARTTOOLS SAL_DLLPUBLIC_IMPORT
 #endif
 
+extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL charttools_component_getFactory(
+    const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/model/main/_serviceregistration_model.cxx b/chart2/source/model/main/_serviceregistration_model.cxx
index 911eb05..0245532 100644
--- a/chart2/source/model/main/_serviceregistration_model.cxx
+++ b/chart2/source/model/main/_serviceregistration_model.cxx
@@ -35,6 +35,7 @@
 #include "XMLFilter.hxx"
 
 #include "_serviceregistration_charttypes.hxx"
+#include "charttoolsdllapi.hxx"
 
 static const struct ::cppu::ImplementationEntry g_entries_chart2_model[] =
 {
@@ -174,8 +175,6 @@ static const struct ::cppu::ImplementationEntry g_entries_chart2_model[] =
 // component exports
 extern "C"
 {
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL charttools_component_getFactory(
-    const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
 SAL_DLLPUBLIC_EXPORT void * SAL_CALL chartcore_component_getFactory(
     const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
 {
diff --git a/compilerplugins/clang/externandnotdefined.cxx b/compilerplugins/clang/externandnotdefined.cxx
new file mode 100644
index 0000000..e66247f
--- /dev/null
+++ b/compilerplugins/clang/externandnotdefined.cxx
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <string>
+
+#include "plugin.hxx"
+#include "compat.hxx"
+
+// Having an extern prototype for a method in a module and not actually declaring that method is dodgy.
+//
+
+namespace {
+
+class ExternAndNotDefined:
+    public RecursiveASTVisitor<ExternAndNotDefined>, public loplugin::Plugin
+{
+public:
+    explicit ExternAndNotDefined(InstantiationData const & data): Plugin(data) {}
+
+    virtual void run() override { TraverseDecl(compiler.getASTContext().getTranslationUnitDecl()); }
+
+    bool VisitFunctionDecl(const FunctionDecl * decl);
+};
+
+bool ExternAndNotDefined::VisitFunctionDecl(const FunctionDecl * functionDecl) {
+    if (ignoreLocation(functionDecl)) {
+        return true;
+    }
+    if (functionDecl->isDefined() || functionDecl->isPure()
+      || (compat::getLinkage(functionDecl->getLinkageAndVisibility())
+          != ExternalLinkage)) {
+        return true;
+    }
+    //TODO, filtering out anything template for now:
+    if (functionDecl->isDependentContext()) {
+        return true;
+    }
+    CXXRecordDecl const * r = dyn_cast<CXXRecordDecl>(functionDecl->getDeclContext());
+    if (r != nullptr && r->getTemplateSpecializationKind() != TSK_Undeclared) {
+        return true;
+    }
+    // this is the bison/flex C API, it has to be defined this way
+    string functionName = functionDecl->getNameAsString();
+    if (functionName == "yyerror" || functionName == "YYWarning" || functionName == "yyparse" || functionName == "yylex") {
+        return true;
+    }
+    // see vcl/unx/gtk/app/gtksys.cxx, typename conflicts prevent using the right include
+    if (functionName == "gdk_x11_screen_get_screen_number") {
+        return true;
+    }
+    SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(functionDecl->getLocation());
+    if (!compat::isInMainFile( compiler.getSourceManager(), spellingLocation)) {
+        return true;
+    }
+    StringRef fileName { compiler.getSourceManager().getFilename(functionDecl->getLocation()) };
+    // the filters use some kind of dynamic loading stunt
+    if (fileName.startswith(SRCDIR "/filter/qa/")) {
+        return true;
+    }
+    report(
+        DiagnosticsEngine::Warning,
+        "extern prototype in main file without definition",
+        functionDecl->getLocation())
+      << functionDecl->getSourceRange();
+    return true;
+}
+
+
+loplugin::Plugin::Registration< ExternAndNotDefined > X("externandnotdefined");
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppu/source/typelib/static_types.cxx b/cppu/source/typelib/static_types.cxx
index 537eff8..3886745 100644
--- a/cppu/source/typelib/static_types.cxx
+++ b/cppu/source/typelib/static_types.cxx
@@ -30,6 +30,7 @@
 #include <rtl/instance.hxx>
 
 #include <typelib/typedescription.h>
+#include "typelib.hxx"
 
 
 using namespace osl;
@@ -41,23 +42,6 @@ extern "C"
 {
 
 
-sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize(
-    const typelib_TypeDescription * pTypeDescription,
-    sal_Int32 nOffset,
-    sal_Int32 & rMaxIntegralTypeSize )
-    SAL_THROW_EXTERN_C();
-
-void SAL_CALL typelib_typedescription_newEmpty(
-    typelib_TypeDescription ** ppRet,
-    typelib_TypeClass eTypeClass,
-    rtl_uString * pTypeName )
-    SAL_THROW_EXTERN_C();
-
-void SAL_CALL typelib_typedescriptionreference_getByName(
-    typelib_TypeDescriptionReference ** ppRet,
-    rtl_uString * pName )
-    SAL_THROW_EXTERN_C();
-
 #ifdef SAL_W32
 #pragma pack(push, 8)
 #endif
diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx
index 8533578..7a6ec94 100644
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@ -42,6 +42,7 @@
 #include <osl/diagnose.h>
 #include <typelib/typedescription.h>
 #include <uno/any2.h>
+#include "typelib.hxx"
 
 using namespace std;
 using namespace osl;
@@ -148,11 +149,6 @@ static inline sal_Int32 getDescriptionSize( typelib_TypeClass eTypeClass )
 
 
 
-extern "C" void SAL_CALL typelib_typedescriptionreference_getByName(
-    typelib_TypeDescriptionReference ** ppRet, rtl_uString * pName )
-    SAL_THROW_EXTERN_C();
-
-
 struct equalStr_Impl
 {
     bool operator()(const sal_Unicode * const & s1, const sal_Unicode * const & s2) const
@@ -383,12 +379,6 @@ extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_revokeCallback(
     }
 }
 
-extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize(
-    const typelib_TypeDescription * pTypeDescription,
-    sal_Int32 nOffset, sal_Int32 & rMaxIntegralTypeSize )
-    SAL_THROW_EXTERN_C();
-
-
 static inline void typelib_typedescription_initTables(
     typelib_TypeDescription * pTD )
 {
diff --git a/cppu/source/typelib/typelib.hxx b/cppu/source/typelib/typelib.hxx
new file mode 100644
index 0000000..18c8daa
--- /dev/null
+++ b/cppu/source/typelib/typelib.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_CPPU_SOURCE_TYPELIB_HXX
+#define INCLUDED_CPPU_SOURCE_TYPELIB_HXX
+
+extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize(
+    const typelib_TypeDescription * pTypeDescription,
+    sal_Int32 nOffset,
+    sal_Int32 & rMaxIntegralTypeSize )
+    SAL_THROW_EXTERN_C();
+
+
+extern "C" void SAL_CALL typelib_typedescription_newEmpty(
+    typelib_TypeDescription ** ppRet,
+    typelib_TypeClass eTypeClass,
+    rtl_uString * pTypeName )
+    SAL_THROW_EXTERN_C();
+
+extern "C" void SAL_CALL typelib_typedescriptionreference_getByName(
+    typelib_TypeDescriptionReference ** ppRet,
+    rtl_uString * pName )
+    SAL_THROW_EXTERN_C();
+
+#endif // INCLUDED_CPPU_SOURCE_TYPELIB_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppuhelper/source/implbase.cxx b/cppuhelper/source/implbase.cxx
index adfab03..1ffb856 100644
--- a/cppuhelper/source/implbase.cxx
+++ b/cppuhelper/source/implbase.cxx
@@ -33,19 +33,9 @@ using namespace ::com::sun::star::uno;
 using rtl::OUString;
 using rtl::OString;
 
-namespace
-{
-    class theImplHelperInitMutex : public rtl::Static<Mutex, theImplHelperInitMutex>{};
-}
-
 namespace cppu
 {
 
-Mutex & SAL_CALL getImplHelperInitMutex(void)
-{
-    return theImplHelperInitMutex::get();
-}
-
 // ClassDataBase
 
 ClassDataBase::ClassDataBase()
diff --git a/cppuhelper/source/implbase_ex.cxx b/cppuhelper/source/implbase_ex.cxx
index 0841603..1c85b1c 100644
--- a/cppuhelper/source/implbase_ex.cxx
+++ b/cppuhelper/source/implbase_ex.cxx
@@ -37,13 +37,21 @@ using rtl::OString;
 using rtl::OUString;
 using rtl::OUStringBuffer;
 
+namespace
+{
+    class theImplHelperInitMutex : public rtl::Static<Mutex, theImplHelperInitMutex>{};
+}
+
 namespace cppu
 {
 
 /** Shared mutex for implementation helper initialization.
     Not for public use.
 */
-::osl::Mutex & SAL_CALL getImplHelperInitMutex(void);
+::osl::Mutex & SAL_CALL getImplHelperInitMutex(void)
+{
+    return theImplHelperInitMutex::get();
+}
 
 
 static inline void checkInterface( Type const & rType )
diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx
index 02a94b9..b067ae6 100644
--- a/desktop/inc/app.hxx
+++ b/desktop/inc/app.hxx
@@ -192,6 +192,8 @@ class Desktop : public Application
 OUString GetURL_Impl(
     const OUString& rName, boost::optional< OUString > const & cwdUrl );
 
+OUString ReplaceStringHookProc(const OUString& rStr);
+
 }
 
 #endif // INCLUDED_DESKTOP_INC_APP_HXX
diff --git a/desktop/source/app/cmdlinehelp.cxx b/desktop/source/app/cmdlinehelp.cxx
index a956038..f042b46 100644
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
@@ -132,8 +132,6 @@ namespace desktop
         "      Eg. -env:UserInstallation=file:///tmp/test to set a non-default user profile path.\n"\
         "\nRemaining arguments will be treated as filenames or URLs of documents to open.\n\n";
 
-    OUString ReplaceStringHookProc(const OUString& rStr);
-
     void displayCmdlineHelp(OUString const & unknown)
     {
         // if you put variables in other chunks don't forget to call the replace routines
diff --git a/desktop/source/app/sofficemain.cxx b/desktop/source/app/sofficemain.cxx
index a7072cb..baf6a1b 100644
--- a/desktop/source/app/sofficemain.cxx
+++ b/desktop/source/app/sofficemain.cxx
@@ -28,6 +28,7 @@
 
 #include <rtl/bootstrap.hxx>
 #include <tools/extendapplicationenvironment.hxx>
+#include <vcl/svmain.hxx>
 
 
 #ifdef ANDROID
@@ -43,8 +44,6 @@
 #include <touch/touch.h>
 #endif
 
-int SVMain();
-
 extern "C" int DESKTOP_DLLPUBLIC soffice_main()
 {
 #if defined ANDROID
diff --git a/editeng/source/uno/unofored.cxx b/editeng/source/uno/unofored.cxx
index 32b0f9e..b454b6d 100644
--- a/editeng/source/uno/unofored.cxx
+++ b/editeng/source/uno/unofored.cxx
@@ -31,6 +31,7 @@
 #include <editeng/editobj.hxx>
 
 #include <editeng/unofored.hxx>
+#include <unofored_internal.hxx>
 
 using namespace ::com::sun::star;
 
diff --git a/editeng/source/uno/unofored_internal.hxx b/editeng/source/uno/unofored_internal.hxx
new file mode 100644
index 0000000..66758b0
--- /dev/null
+++ b/editeng/source/uno/unofored_internal.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_EDITENG_SOURCE_UNO_UNFORED_INTERNAL_HXX
+#define INCLUDED_EDITENG_SOURCE_UNO_UNFORED_INTERNAL_HXX
+
+
+sal_uInt16 GetSvxEditEngineItemState( EditEngine& rEditEngine, const ESelection& rSel, sal_uInt16 nWhich );
+
+
+#endif // INCLUDED_EDITENG_SOURCE_UNO_UNFORED_INTERNAL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/editeng/source/uno/unoforou.cxx b/editeng/source/uno/unoforou.cxx
index c2d0d1d..b39b453 100644
--- a/editeng/source/uno/unoforou.cxx
+++ b/editeng/source/uno/unoforou.cxx
@@ -34,6 +34,7 @@
 #include <editeng/unoforou.hxx>
 #include <editeng/unofored.hxx>
 #include <editeng/outlobj.hxx>
+#include <unofored_internal.hxx>
 
 using namespace ::com::sun::star;
 
@@ -243,8 +244,6 @@ bool SvxOutlinerForwarder::IsValid() const
     return rOutliner.GetUpdateMode();
 }
 
-extern sal_uInt16 GetSvxEditEngineItemState( EditEngine& rEditEngine, const ESelection& rSel, sal_uInt16 nWhich );
-
 sal_uInt16 SvxOutlinerForwarder::GetItemState( const ESelection& rSel, sal_uInt16 nWhich ) const
 {
     return GetSvxEditEngineItemState( (EditEngine&)rOutliner.GetEditEngine(), rSel, nWhich );
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index d96aab2..f61c878 100644
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -45,7 +45,7 @@
 
 #include "commonembobj.hxx"
 #include "intercept.hxx"
-
+#include "embedobj.hxx"
 
 using namespace ::com::sun::star;
 
diff --git a/embeddedobj/source/commonembedding/embedobj.hxx b/embeddedobj/source/commonembedding/embedobj.hxx
new file mode 100644
index 0000000..1c0de37
--- /dev/null
+++ b/embeddedobj/source/commonembedding/embedobj.hxx
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_EMBEDOBJ_HXX
+#define INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_EMBEDOBJ_HXX
+
+css::awt::Rectangle GetRectangleInterception( const css::awt::Rectangle& aRect1, const css::awt::Rectangle& aRect2 );
+
+#endif // INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_EMBEDOBJ_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/embeddedobj/source/commonembedding/inplaceobj.cxx b/embeddedobj/source/commonembedding/inplaceobj.cxx
index 0fff4c3..a4e298a 100644
--- a/embeddedobj/source/commonembedding/inplaceobj.cxx
+++ b/embeddedobj/source/commonembedding/inplaceobj.cxx
@@ -21,11 +21,11 @@
 #include <com/sun/star/lang/DisposedException.hpp>
 
 #include "commonembobj.hxx"
+#include "embedobj.hxx"
 
 
 using namespace ::com::sun::star;
 
-awt::Rectangle GetRectangleInterception( const awt::Rectangle& aRect1, const awt::Rectangle& aRect2 );
 bool RectanglesEqual( const awt::Rectangle& aRect1, const awt::Rectangle& aRect2 )
 {
     return ( aRect1.X == aRect2.X
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index fb560aa..e880929 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -33,14 +33,11 @@
 
 #include "closepreventer.hxx"
 #include "intercept.hxx"
+#include "persistence.hxx"
 
 using namespace ::com::sun::star;
 
 
-uno::Sequence< beans::PropertyValue > GetValuableArgs_Impl( const uno::Sequence< beans::PropertyValue >& aMedDescr,
-                                                            bool bCanUseDocumentBaseURL );
-
-
 OCommonEmbeddedObject::OCommonEmbeddedObject( const uno::Reference< uno::XComponentContext >& rxContext,
                                                 const uno::Sequence< beans::NamedValue >& aObjProps )
 : m_pDocHolder( NULL )
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index cbba532..5ef9253 100644
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -53,6 +53,7 @@
 #include <comphelper/namedvaluecollection.hxx>
 
 #include <tools/diagnose_ex.h>
+#include "persistence.hxx"
 
 using namespace ::com::sun::star;
 
diff --git a/embeddedobj/source/commonembedding/persistence.hxx b/embeddedobj/source/commonembedding/persistence.hxx
new file mode 100644
index 0000000..6557486
--- /dev/null
+++ b/embeddedobj/source/commonembedding/persistence.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_PERSISTENCE_HXX
+#define INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_PERSISTENCE_HXX
+
+css::uno::Sequence< css::beans::PropertyValue > GetValuableArgs_Impl( const css::uno::Sequence< css::beans::PropertyValue >& aMedDescr,
+                                                            bool bCanUseDocumentBaseURL );
+
+
+#endif // INCLUDED_EMBEDDEDOBJ_SOURCE_COMMONEMBEDDING_PERSISTENCE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/embeddedobj/source/msole/olemisc.cxx b/embeddedobj/source/msole/olemisc.cxx
index dc1accb..d2bae48 100644
--- a/embeddedobj/source/msole/olemisc.cxx
+++ b/embeddedobj/source/msole/olemisc.cxx
@@ -29,6 +29,7 @@
 #include <cppuhelper/interfacecontainer.h>
 
 #include <oleembobj.hxx>
+#include <olepersist.hxx>
 
 #include "ownview.hxx"
 
@@ -38,8 +39,6 @@
 
 using namespace ::com::sun::star;
 
-bool KillFile_Impl( const OUString& aURL, const uno::Reference< lang::XMultiServiceFactory >& xFactory );
-
 
 
 OleEmbeddedObject::OleEmbeddedObject( const uno::Reference< lang::XMultiServiceFactory >& xFactory,
diff --git a/embeddedobj/source/msole/olepersist.hxx b/embeddedobj/source/msole/olepersist.hxx
index c23bf94..2248a2b 100644
--- a/embeddedobj/source/msole/olepersist.hxx
+++ b/embeddedobj/source/msole/olepersist.hxx
@@ -37,6 +37,8 @@ OUString GetNewFilledTempFile_Impl(
     css::uno::Reference<css::lang::XMultiServiceFactory> const & xFactory)
     throw (css::io::IOException, css::uno::RuntimeException);
 
+bool KillFile_Impl( const OUString& aURL, const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/embeddedobj/source/msole/ownview.cxx b/embeddedobj/source/msole/ownview.cxx
index e4e5d88..b0ffa3e 100644
--- a/embeddedobj/source/msole/ownview.cxx
+++ b/embeddedobj/source/msole/ownview.cxx
@@ -49,8 +49,6 @@
 using namespace ::com::sun::star;
 using namespace ::comphelper;
 
-bool KillFile_Impl( const OUString& aURL, const uno::Reference< lang::XMultiServiceFactory >& xFactory );
-
 class DummyHandler_Impl : public ::cppu::WeakImplHelper1< task::XInteractionHandler >
 {
 public:
diff --git a/filter/source/flash/swfwriter.hxx b/filter/source/flash/swfwriter.hxx
index f54dd29..4c31000 100644
--- a/filter/source/flash/swfwriter.hxx
+++ b/filter/source/flash/swfwriter.hxx
@@ -62,6 +62,8 @@ inline sal_Int16 _Int16( sal_Int32 nValue )
 
 class VirtualDevice;
 
+sal_uInt16 getMaxBitsSigned( sal_Int32 nValue );
+
 namespace swf {
 
 const sal_uInt8 TAG_END             = 0;
diff --git a/filter/source/flash/swfwriter1.cxx b/filter/source/flash/swfwriter1.cxx
index a3377ee..c487acc 100644
--- a/filter/source/flash/swfwriter1.cxx
+++ b/filter/source/flash/swfwriter1.cxx
@@ -47,8 +47,6 @@ using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::io;
 using namespace ::com::sun::star::beans;
 
-extern sal_uInt16 getMaxBitsSigned( sal_Int32 nValue );
-
 static MapMode aTWIPSMode( MAP_TWIP );
 static MapMode a100thmmMode( MAP_100TH_MM );
 
diff --git a/forms/source/component/scrollbar.hxx b/forms/source/component/scrollbar.hxx
index 50af8b2..aee2d41 100644
--- a/forms/source/component/scrollbar.hxx
+++ b/forms/source/component/scrollbar.hxx
@@ -83,6 +83,14 @@ namespace frm
 
     };
 
+    css::uno::Any translateExternalDoubleToControlIntValue(
+        const css::uno::Any& _rExternalValue, const css::uno::Reference< css::beans::XPropertySet >& _rxProperties,
+        const OUString& _rMinValueName, const OUString& _rMaxValueName );
+
+    css::uno::Any translateControlIntToExternalDoubleValue( const css::uno::Any& _rControlIntValue );
+
+
+
 } // namespacefrm
 
 
diff --git a/forms/source/component/spinbutton.cxx b/forms/source/component/spinbutton.cxx
index fef41b5..79714a3 100644
--- a/forms/source/component/spinbutton.cxx
+++ b/forms/source/component/spinbutton.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "spinbutton.hxx"
+#include "scrollbar.hxx"
 #include <comphelper/streamsection.hxx>
 #include <comphelper/basicio.hxx>
 
@@ -44,12 +45,6 @@ namespace frm
 
     //= OSpinButtonModel
 
-    // implemented elsewhere
-    Any translateExternalDoubleToControlIntValue(
-        const Any& _rExternalValue, const Reference< XPropertySet >& _rxProperties,
-        const OUString& _rMinValueName, const OUString& _rMaxValueName );
-    Any translateControlIntToExternalDoubleValue( const Any& _rControlIntValue );
-
     OSpinButtonModel::OSpinButtonModel( const Reference<XComponentContext>& _rxFactory )
         :OBoundControlModel( _rxFactory, VCL_CONTROLMODEL_SPINBUTTON, VCL_CONTROL_SPINBUTTON, true, true, false )
         ,m_nDefaultSpinValue( 0 )
diff --git a/vcl/inc/svmain.hxx b/include/vcl/svmain.hxx
similarity index 90%
rename from vcl/inc/svmain.hxx
rename to include/vcl/svmain.hxx
index 6ea93fa..be5a1b9 100644
--- a/vcl/inc/svmain.hxx
+++ b/include/vcl/svmain.hxx
@@ -17,14 +17,17 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_VCL_INC_SVMAIN_HXX
-#define INCLUDED_VCL_INC_SVMAIN_HXX
+#ifndef INCLUDED_VCL_SVMAIN_HXX
+#define INCLUDED_VCL_SVMAIN_HXX
 
 #include <sal/config.h>
+#include <vcl/dllapi.h>
 
 // #i47888# allow for alternative initialization as required for e.g. MacOSX
 bool ImplSVMainHook( int* );
 
+VCL_DLLPUBLIC int SVMain();
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
index 3288c2f..c72ac27 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
@@ -33,11 +33,14 @@ namespace jfw_plugin
 
 MalformedVersionException::MalformedVersionException()
 {}
+
 MalformedVersionException::MalformedVersionException(
     const MalformedVersionException & )
 {}
+
 MalformedVersionException::~MalformedVersionException()
 {}
+
 MalformedVersionException &
 MalformedVersionException::operator =(
     const MalformedVersionException &)
diff --git a/reportdesign/source/filter/xml/xmlExportDocumentHandler.hxx b/reportdesign/source/filter/xml/xmlExportDocumentHandler.hxx
index 03500c7..a210571 100644
--- a/reportdesign/source/filter/xml/xmlExportDocumentHandler.hxx
+++ b/reportdesign/source/filter/xml/xmlExportDocumentHandler.hxx
@@ -29,9 +29,13 @@
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include <com/sun/star/chart2/data/XDatabaseDataProvider.hpp>
 #include <comphelper/uno3.hxx>
+#include <xmloff/xmltoken.hxx>
 
 namespace rptxml
 {
+
+OUString lcl_createAttribute(const xmloff::token::XMLTokenEnum& _eNamespace,const xmloff::token::XMLTokenEnum& _eAttribute);
+
 typedef ::cppu::WeakAggImplHelper3< ::com::sun::star::xml::sax::XDocumentHandler
                                 ,   ::com::sun::star::lang::XInitialization
                                 ,   ::com::sun::star::lang::XServiceInfo>   ExportDocumentHandler_BASE;
diff --git a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
index 4d41b65..05bfd4b 100644
--- a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
+++ b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx
@@ -38,6 +38,7 @@
 
 #include "xmlHelper.hxx"
 #include "xmlEnums.hxx"
+#include "xmlExportDocumentHandler.hxx"
 
 #include <connectivity/dbtools.hxx>
 
@@ -46,8 +47,6 @@ namespace rptxml
 using namespace ::com::sun::star;
 using namespace ::xmloff::token;
 
-OUString lcl_createAttribute(const xmloff::token::XMLTokenEnum& _eNamespace,const xmloff::token::XMLTokenEnum& _eAttribute);
-
 ImportDocumentHandler::ImportDocumentHandler(uno::Reference< uno::XComponentContext > const & context)
     :m_bImportedChart( false )
     ,m_xContext(context)
diff --git a/rsc/source/prj/gui.hxx b/rsc/source/prj/gui.hxx
index 08a11e6..7deab5b 100644
--- a/rsc/source/prj/gui.hxx
+++ b/rsc/source/prj/gui.hxx
@@ -24,6 +24,9 @@
 
 int rsc2_main(int, char**);
 
+// Entry point declaration for modules rscpp and rsc2
+extern "C" int rscpp_main(int, char**);
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/rsc/source/prj/start.cxx b/rsc/source/prj/start.cxx
index 7c926f0..d42f0d8 100644
--- a/rsc/source/prj/start.cxx
+++ b/rsc/source/prj/start.cxx
@@ -41,12 +41,6 @@
 #include <rtl/strbuf.hxx>
 
 
-// Entry point declaration for modules rscpp and rsc2
-extern "C"
-{
-    int rscpp_main(int, char**);
-}
-
 static bool CallPrePro( const OString& rInput,
                         const OString& rOutput, RscPtrPtr * pCmdLine,
                         bool bResponse )
diff --git a/sal/osl/unx/module.cxx b/sal/osl/unx/module.cxx
index 30fe2ab..c6ae0c0 100644
--- a/sal/osl/unx/module.cxx
+++ b/sal/osl/unx/module.cxx
@@ -27,6 +27,7 @@
 #include <osl/file.h>
 #include <assert.h>
 #include "system.h"
+#include "file_url.h"
 
 #ifdef AIX
 #include <sys/ldr.h>
@@ -36,9 +37,6 @@
 #include <osl/detail/android-bootstrap.h>
 #endif
 
-/* implemented in file.c */
-extern "C" int UnicodeToText(char *, size_t, const sal_Unicode *, sal_Int32);
-
 static bool getModulePathFromAddress(void * address, rtl_String ** path) {
     bool result = false;
     // We do want to have this functionality also in the
diff --git a/sal/osl/unx/mutex.c b/sal/osl/unx/mutex.c
index a8eb99d..f48e2e2 100644
--- a/sal/osl/unx/mutex.c
+++ b/sal/osl/unx/mutex.c
@@ -25,7 +25,7 @@
 #include <pthread.h>
 #include <stdlib.h>
 
-#if defined LINUX /* bad hack */
+#if defined LINUX && !((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)) /* bad hack */
 int pthread_mutexattr_setkind_np(pthread_mutexattr_t *, int);
 #define pthread_mutexattr_settype pthread_mutexattr_setkind_np
 #define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
diff --git a/sal/osl/unx/pipe.c b/sal/osl/unx/pipe.c
index b0ee432..e3e08b5 100644
--- a/sal/osl/unx/pipe.c
+++ b/sal/osl/unx/pipe.c
@@ -28,6 +28,7 @@
 #include <rtl/bootstrap.h>
 
 #include "sockimpl.h"
+#include "secimpl.h"
 
 #define PIPEDEFAULTPATH     "/tmp"
 #define PIPEALTERNATEPATH   "/var/tmp"
@@ -35,7 +36,6 @@
 #define PIPENAMEMASK    "OSL_PIPE_%s"
 #define SECPIPENAMEMASK "OSL_PIPE_%s_%s"
 
-sal_Bool SAL_CALL osl_psz_getUserIdent(oslSecurity Security, sal_Char *pszIdent, sal_uInt32 nMax);
 oslPipe SAL_CALL osl_psz_createPipe(const sal_Char *pszPipeName, oslPipeOptions Options, oslSecurity Security);
 
 static struct
diff --git a/sal/osl/unx/profile.cxx b/sal/osl/unx/profile.cxx
index 70505da..2187427 100644
--- a/sal/osl/unx/profile.cxx
+++ b/sal/osl/unx/profile.cxx
@@ -19,6 +19,7 @@
 
 #include "system.h"
 #include "readwrite_helper.h"
+#include "file_url.h"
 
 #include <osl/diagnose.h>
 #include <osl/profile.h>
@@ -131,9 +132,6 @@ static bool osl_ProfileSwapProfileNames(osl_TProfileImpl*);
 static void osl_ProfileGenerateExtension(const sal_Char* pszFileName, const sal_Char* pszExtension, sal_Char* pszTmpName, int BufferMaxLen);
 static oslProfile SAL_CALL osl_psz_openProfile(const sal_Char *pszProfileName, oslProfileOption Flags);
 
-/* implemented in file.c */
-extern "C" oslFileError FileURLToPath( char *, size_t, rtl_uString* );
-
 oslProfile SAL_CALL osl_openProfile(rtl_uString *ustrProfileName, oslProfileOption Options)
 {
     char profilePath[PATH_MAX] = "";
diff --git a/sal/osl/unx/secimpl.h b/sal/osl/unx/secimpl.h
index 0cbf41f..a7cadeb 100644
--- a/sal/osl/unx/secimpl.h
+++ b/sal/osl/unx/secimpl.h
@@ -31,6 +31,8 @@ typedef struct _oslSecurityImpl {
     char m_buffer[1]; /* should be a C99 flexible array member */
 } oslSecurityImpl;
 
+sal_Bool SAL_CALL osl_psz_getUserIdent(oslSecurity Security, sal_Char *pszIdent, sal_uInt32 nMax);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/sal/osl/unx/security.cxx b/sal/osl/unx/security.cxx
index c98b865..a7c32a9 100644
--- a/sal/osl/unx/security.cxx
+++ b/sal/osl/unx/security.cxx
@@ -45,7 +45,6 @@
 static oslSecurityError SAL_CALL
 osl_psz_loginUser(const sal_Char* pszUserName, const sal_Char* pszPasswd,
                   oslSecurity* pSecurity);
-extern "C" sal_Bool SAL_CALL osl_psz_getUserIdent(oslSecurity Security, sal_Char *pszIdent, sal_uInt32 nMax);
 static bool SAL_CALL osl_psz_getUserName(oslSecurity Security, sal_Char* pszName, sal_uInt32  nMax);
 static bool SAL_CALL osl_psz_getHomeDir(oslSecurity Security, sal_Char* pszDirectory, sal_uInt32 nMax);
 static bool SAL_CALL osl_psz_getConfigDir(oslSecurity Security, sal_Char* pszDirectory, sal_uInt32 nMax);
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index 8ea270a..b4d12b6 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -98,6 +98,7 @@
 #include "documentlinkmgr.hxx"
 #include "interpre.hxx"
 #include <tokenstringcontext.hxx>
+#include "docsh.hxx"
 
 using namespace com::sun::star;
 
@@ -924,8 +925,6 @@ bool ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
     return bValid;
 }
 
-void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, const OUString& sModuleName, const OUString& sModuleSource );
-
 sal_uLong ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos,
                                 SCTAB nDestPos, bool bInsertNew,
                                 bool bResultsOnly )
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 48e82e6..821281d 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -52,14 +52,12 @@
 #include "progress.hxx"
 #include "stringutil.hxx"
 #include <rowheightcontext.hxx>
+#include "fuinsert.hxx"
 
 #include "globstr.hrc"
 
 #include <boost/scoped_ptr.hpp>
 
-// in fuins1.cxx
-extern void ScLimitSizeOnDrawPage( Size& rSize, Point& rPos, const Size& rPage );
-
 ScEEImport::ScEEImport( ScDocument* pDocP, const ScRange& rRange ) :
     maRange( rRange ),
     mpDoc( pDocP ),
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index 7d06981..a46e426 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -54,9 +54,6 @@
 #include <rowheightcontext.hxx>
 #include <refupdatecontext.hxx>
 
-// defined in docfunc.cxx
-void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, const OUString& sModuleName, const OUString& sModuleSource );
-
 using com::sun::star::script::XLibraryContainer;
 using com::sun::star::script::vba::XVBACompatibility;
 using com::sun::star::container::XNameContainer;
diff --git a/sc/source/ui/drawfunc/drawsh2.cxx b/sc/source/ui/drawfunc/drawsh2.cxx
index 311c1f1..54a6ee8d 100644
--- a/sc/source/ui/drawfunc/drawsh2.cxx
+++ b/sc/source/ui/drawfunc/drawsh2.cxx
@@ -45,14 +45,13 @@
 #include "document.hxx"
 #include "drwlayer.hxx"
 #include "userdat.hxx"
+#include "drtxtob.hxx"
 #include <gridwin.hxx>
 #include <svx/svdoole2.hxx>
 #include <svx/svdocapt.hxx>
 
 #include <boost/bind.hpp>
 
-sal_uInt16 ScGetFontWorkId();       // in drtxtob
-
 using namespace com::sun::star;
 
 ScDrawShell::ScDrawShell( ScViewData* pData ) :
diff --git a/sc/source/ui/drawfunc/drawsh5.cxx b/sc/source/ui/drawfunc/drawsh5.cxx
index 77058fa..4cac58c 100644
--- a/sc/source/ui/drawfunc/drawsh5.cxx
+++ b/sc/source/ui/drawfunc/drawsh5.cxx
@@ -55,6 +55,7 @@
 #include "drwlayer.hxx"
 #include "userdat.hxx"
 #include "postit.hxx"
+#include "drtxtob.hxx"
 #include <boost/scoped_ptr.hpp>
 
 #include "sc.hrc"
@@ -239,8 +240,6 @@ void ScDrawShell::ExecuteHLink( SfxRequest& rReq )
     }
 }
 
-sal_uInt16 ScGetFontWorkId();
-
 //          Funktionen auf Drawing-Objekten
 
 void ScDrawShell::ExecDrawFunc( SfxRequest& rReq )
diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx
index e603841..5dc4d06 100644
--- a/sc/source/ui/inc/docfunc.hxx
+++ b/sc/source/ui/inc/docfunc.hxx
@@ -231,6 +231,8 @@ public:
     virtual ~ScDocFuncDirect() {}
 };
 
+void VBA_DeleteModule( ScDocShell& rDocSh, const OUString& sModuleName );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 36731fed..46bd07e 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -506,6 +506,8 @@ namespace HelperNotifyChanges
     }
 };
 
+void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, const OUString& sModuleName, const OUString& sModuleSource );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/fuinsert.hxx b/sc/source/ui/inc/fuinsert.hxx
index a93dd04..6d30688 100644
--- a/sc/source/ui/inc/fuinsert.hxx
+++ b/sc/source/ui/inc/fuinsert.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_SC_SOURCE_UI_INC_FUINSERT_HXX
 
 #include "fupoor.hxx"
+#include "scdllapi.h"
 
 class FuInsertGraphic : public FuPoor
 {
@@ -74,6 +75,8 @@ class FuInsertMedia : public FuPoor
     virtual void Deactivate() SAL_OVERRIDE;
 };
 
+void SC_DLLPUBLIC ScLimitSizeOnDrawPage( Size& rSize, Point& rPos, const Size& rPage );
+
 #endif      // _SD_FUINSERT_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/vba/vbapagesetup.cxx b/sc/source/ui/vba/vbapagesetup.cxx
index 6f9d7ee..d671756 100644
--- a/sc/source/ui/vba/vbapagesetup.cxx
+++ b/sc/source/ui/vba/vbapagesetup.cxx
@@ -21,6 +21,7 @@
 #include "convuno.hxx"
 #include "rangelst.hxx"
 #include "excelvbahelper.hxx"
+#include "vbarange.hxx"
 #include <com/sun/star/sheet/XPrintAreas.hpp>
 #include <com/sun/star/sheet/XHeaderFooterContent.hpp>
 #include <com/sun/star/text/XText.hpp>
@@ -40,8 +41,6 @@ using namespace ::ooo::vba;
 #define ZOOM_IN 10
 #define ZOOM_MAX 400
 
-bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, ScRange& refRange, ScRangeList& aCellRanges, formula::FormulaGrammar::AddressConvention aConv = formula::FormulaGrammar::CONV_XL_A1 ) throw ( uno::RuntimeException );
-
 ScVbaPageSetup::ScVbaPageSetup(const uno::Reference< XHelperInterface >& xParent,
                 const uno::Reference< uno::XComponentContext >& xContext,
                 const uno::Reference< sheet::XSpreadsheet >& xSheet,
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index 0908823..b5ddb21 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -1162,7 +1162,7 @@ ScVbaRange::getCellRangesForAddress( sal_uInt16& rResFlags, const OUString& sAdd
     return false;
 }
 
-bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, ScRange& refRange, ScRangeList& aCellRanges, formula::FormulaGrammar::AddressConvention aConv = formula::FormulaGrammar::CONV_XL_A1 ) throw ( uno::RuntimeException )
+bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, ScRange& refRange, ScRangeList& aCellRanges, formula::FormulaGrammar::AddressConvention aConv ) throw ( uno::RuntimeException )
 {
     // see if there is a match with a named range
     uno::Reference< beans::XPropertySet > xProps( pDocSh->GetModel(), uno::UNO_QUERY_THROW );
diff --git a/sc/source/ui/vba/vbarange.hxx b/sc/source/ui/vba/vbarange.hxx
index 5c12276..32d1390 100644
--- a/sc/source/ui/vba/vbarange.hxx
+++ b/sc/source/ui/vba/vbarange.hxx
@@ -50,6 +50,7 @@ class ScCellRangeObj;
 class ScDocShell;
 class ScDocument;
 class ScRangeList;
+class ScRange;
 
 typedef ScVbaFormat< ov::excel::XRange > ScVbaRange_BASE;
 
@@ -297,6 +298,12 @@ public:
     virtual OUString getServiceImplName() SAL_OVERRIDE;
     virtual css::uno::Sequence<OUString> getServiceNames() SAL_OVERRIDE;
 };
+
+bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, ScRange& refRange,
+                               ScRangeList& aCellRanges,
+                               formula::FormulaGrammar::AddressConvention aConv = formula::FormulaGrammar::CONV_XL_A1 )
+    throw ( css::uno::RuntimeException );
+
 #endif // INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 4bfb038..eb868ac 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -95,9 +95,6 @@ using ::editeng::SvxBorderLine;
 using ::std::vector;
 using ::std::auto_ptr;
 
-// helper func defined in docfunc.cxx
-void VBA_DeleteModule( ScDocShell& rDocSh, const OUString& sModuleName );
-
 // STATIC DATA ---------------------------------------------------------------
 
 bool ScViewFunc::AdjustBlockHeight( bool bPaint, ScMarkData* pMarkData )
diff --git a/scripting/source/dlgprov/DialogModelProvider.cxx b/scripting/source/dlgprov/DialogModelProvider.cxx
index 3e7d889..d3e4aa5 100644
--- a/scripting/source/dlgprov/DialogModelProvider.cxx
+++ b/scripting/source/dlgprov/DialogModelProvider.cxx
@@ -24,25 +24,6 @@
 
 #include <cppuhelper/supportsservice.hxx>
 
-// component helper namespace
-namespace comp_DialogModelProvider {
-
-using namespace ::com::sun::star;
-using namespace awt;
-using namespace lang;
-using namespace uno;
-using namespace script;
-using namespace beans;
-
-
-// component and service helper functions:
-OUString SAL_CALL _getImplementationName();
-css::uno::Sequence< OUString > SAL_CALL _getSupportedServiceNames();
-
-} // closing component helper namespace
-
-
-
 /// anonymous implementation namespace
 namespace dlgprov {
 
diff --git a/scripting/source/dlgprov/dlgprov.hxx b/scripting/source/dlgprov/dlgprov.hxx
index bd31342..3246070 100644
--- a/scripting/source/dlgprov/dlgprov.hxx
+++ b/scripting/source/dlgprov/dlgprov.hxx
@@ -154,6 +154,19 @@ namespace dlgprov
 }   // namespace dlgprov
 
 
+
+// component helper namespace
+namespace comp_DialogModelProvider {
+
+// component and service helper functions:
+OUString SAL_CALL _getImplementationName();
+css::uno::Sequence< OUString > SAL_CALL _getSupportedServiceNames();
+
+} // namespace comp_DialogModelProvider
+
+
+
+
 #endif // INCLUDED_SCRIPTING_SOURCE_DLGPROV_DLGPROV_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/inc/CustomAnimationPreset.hxx b/sd/inc/CustomAnimationPreset.hxx
index c380ba6..efe50de 100644
--- a/sd/inc/CustomAnimationPreset.hxx
+++ b/sd/inc/CustomAnimationPreset.hxx
@@ -138,8 +138,13 @@ private:
 
 typedef boost::shared_ptr< CustomAnimationPresets > CustomAnimationPresetsPtr;
 
+css::uno::Reference< css::animations::XAnimationNode > implImportEffects( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceFactory, const OUString& rPath );
+
+void implImportLabels( const css::uno::Reference< css::lang::XMultiServiceFactory >& xConfigProvider, const OUString& rNodePath, UStringMap& rStringMap );
+
 }
 
+
 #endif // _SD_CUSTOMANIMATIONEFFECTS_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/core/TransitionPreset.cxx b/sd/source/core/TransitionPreset.cxx
index 7ba9a5d..06662b9 100644
--- a/sd/source/core/TransitionPreset.cxx
+++ b/sd/source/core/TransitionPreset.cxx
@@ -37,6 +37,7 @@
 #include <rtl/instance.hxx>
 #include <tools/debug.hxx>
 
+#include <CustomAnimationPreset.hxx>
 #include <TransitionPreset.hxx>
 #include <unotools/ucbstreamhelper.hxx>
 
@@ -60,9 +61,6 @@ using ::com::sun::star::beans::NamedValue;
 
 namespace sd {
 
-extern Reference< XAnimationNode > implImportEffects( const Reference< XMultiServiceFactory >& xServiceFactory, const OUString& rPath );
-extern void implImportLabels( const Reference< XMultiServiceFactory >& xConfigProvider, const OUString& rNodePath, UStringMap& rStringMap );
-
 TransitionPreset::TransitionPreset( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode )
 {
     // first locate preset id
diff --git a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
index e9f1f23..de4b5b1 100644
--- a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
@@ -63,8 +63,6 @@ const int EXIT = 2;
 const int MOTIONPATH = 3;
 const int MISCEFFECTS = 4;
 
-extern void fillDurationComboBox( ListBox* pBox );
-
 class CategoryListBox : public ListBox
 {
 public:
diff --git a/sd/source/ui/animations/CustomAnimationDialog.cxx b/sd/source/ui/animations/CustomAnimationDialog.cxx
index 0af0d21..99446e9 100644
--- a/sd/source/ui/animations/CustomAnimationDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationDialog.cxx
@@ -95,10 +95,6 @@ using ::com::sun::star::beans::XPropertySet;
 
 namespace sd {
 
-extern void fillDurationComboBox( ListBox* pBox );
-extern OUString getShapeDescription( const Reference< XShape >& xShape, bool bWithText = true );
-extern OUString getPropertyName( sal_Int32 nPropertyType );
-
 class PresetPropertyBox  : public PropertySubControl
 {
 public:
diff --git a/sd/source/ui/animations/CustomAnimationList.cxx b/sd/source/ui/animations/CustomAnimationList.cxx
index 3a23857..e215e5b 100644
--- a/sd/source/ui/animations/CustomAnimationList.cxx
+++ b/sd/source/ui/animations/CustomAnimationList.cxx
@@ -122,7 +122,7 @@ static sal_Int32 getShapeIndex( const Reference< XShape >& xShape )
         return -1;
 }
 
-OUString getShapeDescription( const Reference< XShape >& xShape, bool bWithText = true )
+OUString getShapeDescription( const Reference< XShape >& xShape, bool bWithText )
 {
     OUString aDescription;
     Reference< XPropertySet > xSet( xShape, UNO_QUERY );
diff --git a/sd/source/ui/animations/CustomAnimationList.hxx b/sd/source/ui/animations/CustomAnimationList.hxx
index 74942dc..b8d121d 100644
--- a/sd/source/ui/animations/CustomAnimationList.hxx
+++ b/sd/source/ui/animations/CustomAnimationList.hxx
@@ -112,6 +112,10 @@ private:
 
 };
 
+OUString getPropertyName( sal_Int32 nPropertyType );
+
+OUString getShapeDescription( const css::uno::Reference< css::drawing::XShape >& xShape, bool bWithText = true );
+
 }
 
 #endif // INCLUDED_SD_SOURCE_UI_ANIMATIONS_CUSTOMANIMATIONLIST_HXX
diff --git a/sd/source/ui/animations/CustomAnimationPane.hxx b/sd/source/ui/animations/CustomAnimationPane.hxx
index c2665b7..e9fbbc1 100644
--- a/sd/source/ui/animations/CustomAnimationPane.hxx
+++ b/sd/source/ui/animations/CustomAnimationPane.hxx
@@ -177,6 +177,8 @@ private:
 
 void fillRepeatComboBox( ListBox* pBox );
 
+void fillDurationComboBox( ListBox* pBox );
+
 }
 
 #endif // INCLUDED_SD_SOURCE_UI_ANIMATIONS_CUSTOMANIMATIONPANE_HXX
diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx
index 8213cd9..613c2da 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -101,8 +101,6 @@ using namespace ::com::sun::star::office;
 
 namespace sd {
 
-extern TextApiObject* getTextApiObject( const Reference< XAnnotation >& xAnnotation );
-
 SfxItemPool* GetAnnotationPool()
 {
     static SfxItemPool* mpAnnotationPool = 0;
diff --git a/sd/source/ui/annotations/annotationmanagerimpl.hxx b/sd/source/ui/annotations/annotationmanagerimpl.hxx
index 8ad5c16..36b40e4 100644
--- a/sd/source/ui/annotations/annotationmanagerimpl.hxx
+++ b/sd/source/ui/annotations/annotationmanagerimpl.hxx
@@ -127,6 +127,12 @@ private:
     Font maFont;
 };
 
+OUString getAnnotationDateTimeString( const css::uno::Reference< css::office::XAnnotation >& xAnnotation );
+
+SfxItemPool* GetAnnotationPool();
+
+com::sun::star::util::DateTime getCurrentDateTime();
+
 }
 
 #endif // INCLUDED_SD_SOURCE_UI_ANNOTATIONS_ANNOTATIONMANAGERIMPL_HXX
diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index 7665fbe..9c6e530 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -100,10 +100,6 @@ using namespace ::com::sun::star::text;
 
 namespace sd {
 
-extern OUString getAnnotationDateTimeString( const Reference< XAnnotation >& xAnnotation );
-extern SfxItemPool* GetAnnotationPool();
-extern com::sun::star::util::DateTime getCurrentDateTime();
-
 Color ColorFromAlphaColor(sal_uInt8 aTransparency, Color &aFront, Color &aBack )
 {
     return Color((sal_uInt8)(aFront.GetRed()    * aTransparency/(double)255 + aBack.GetRed()    * (1-aTransparency/(double)255)),
diff --git a/sd/source/ui/annotations/annotationwindow.hxx b/sd/source/ui/annotations/annotationwindow.hxx
index fc692a0..1a7582b 100644
--- a/sd/source/ui/annotations/annotationwindow.hxx
+++ b/sd/source/ui/annotations/annotationwindow.hxx
@@ -43,6 +43,7 @@ namespace sd {
 class AnnotationManagerImpl;
 class AnnotationWindow;
 class DrawDocShell;
+class TextApiObject;
 class View;
 
 class AnnotationTextWindow : public Control
@@ -155,6 +156,9 @@ class AnnotationWindow : public FloatingWindow
         Color           maColorLight;
 };
 
+TextApiObject* getTextApiObject( const css::uno::Reference< css::office::XAnnotation >& xAnnotation );
+
+
 } // namespace sd
 
 #endif
diff --git a/sd/source/ui/controller/slidelayoutcontroller.cxx b/sd/source/ui/controller/slidelayoutcontroller.cxx
index 5c199a3..790b7af 100644
--- a/sd/source/ui/controller/slidelayoutcontroller.cxx
+++ b/sd/source/ui/controller/slidelayoutcontroller.cxx
@@ -50,6 +50,7 @@
 #include "sdresid.hxx"
 #include "pres.hxx"
 #include "slidelayoutcontroller.hxx"
+#include "ViewShellBase.hxx"
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -62,8 +63,6 @@ using namespace ::com::sun::star::beans;
 namespace sd
 {
 
-extern OUString ImplRetrieveLabelFromCommand( const Reference< XFrame >& xFrame, const OUString& aCmdURL );
-
 class LayoutToolbarMenu : public svtools::ToolbarMenu
 {
 public:
diff --git a/sd/source/ui/inc/ViewShellBase.hxx b/sd/source/ui/inc/ViewShellBase.hxx
index 038de76..e2c7514 100644
--- a/sd/source/ui/inc/ViewShellBase.hxx
+++ b/sd/source/ui/inc/ViewShellBase.hxx
@@ -252,6 +252,9 @@ private:
     OUString GetInitialViewShellType (void);
 };
 
+OUString ImplRetrieveLabelFromCommand( const css::uno::Reference< css::frame::XFrame >& xFrame, const OUString& aCmdURL );
+
+
 } // end of namespace sd
 
 #endif
diff --git a/sd/source/ui/unoidl/unopage.hxx b/sd/source/ui/inc/unopage.hxx
similarity index 99%
rename from sd/source/ui/unoidl/unopage.hxx
rename to sd/source/ui/inc/unopage.hxx
index 62a3b24..e0c70e2 100644
--- a/sd/source/ui/unoidl/unopage.hxx
+++ b/sd/source/ui/inc/unopage.hxx
@@ -313,6 +313,8 @@ public:
     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
 };
 
+OUString getUiNameFromPageApiNameImpl( const OUString& rApiName );
+
 #endif // INCLUDED_SD_SOURCE_UI_UNOIDL_UNOPAGE_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
index 57be255..eaf5b73 100644
--- a/sd/source/ui/slideshow/slideshow.cxx
+++ b/sd/source/ui/slideshow/slideshow.cxx
@@ -52,6 +52,7 @@
 #include "DrawController.hxx"
 #include "customshowlist.hxx"
 #include <boost/bind.hpp>
+#include "unopage.hxx"
 
 using ::com::sun::star::presentation::XSlideShowController;
 using ::com::sun::star::container::XIndexAccess;
@@ -67,8 +68,6 @@ using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::animations;
 using namespace ::com::sun::star::drawing::framework;
 
-extern OUString getUiNameFromPageApiNameImpl( const OUString& rApiName );
-
 namespace {
     /** This local version of the work window overloads DataChanged() so that it
         can restart the slide show when a display is added or removed.
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index aeaf212..606f804 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -76,6 +76,7 @@
 #include "svtools/colrdlg.hxx"
 #include "RemoteServer.hxx"
 #include "customshowlist.hxx"
+#include "unopage.hxx"
 
 #include <boost/bind.hpp>
 
@@ -92,8 +93,6 @@ using namespace ::com::sun::star::document;
 using namespace ::com::sun::star::presentation;
 using namespace ::com::sun::star::beans;
 
-extern OUString getUiNameFromPageApiNameImpl( const OUString& rApiName );
-
 namespace sd
 {
 /** Slots, which will be disabled in the slide show and are managed by Sfx.
diff --git a/sd/source/ui/unoidl/unoobj.cxx b/sd/source/ui/unoidl/unoobj.cxx
index 6c39a97..c124631 100644
--- a/sd/source/ui/unoidl/unoobj.cxx
+++ b/sd/source/ui/unoidl/unoobj.cxx
@@ -85,8 +85,6 @@ using ::com::sun::star::uno::Any;
 using ::com::sun::star::uno::Reference;
 using ::com::sun::star::drawing::XShape;
 
-extern OUString getUiNameFromPageApiNameImpl( const OUString& rApiName );
-
 typedef std::map<sal_uIntPtr, SfxExtItemPropertySetInfo*> SdExtPropertySetInfoCache;
 static SdExtPropertySetInfoCache gImplImpressPropertySetInfoCache;
 static SdExtPropertySetInfoCache gImplDrawPropertySetInfoCache;
diff --git a/sfx2/inc/sfxbasecontroller_internal.hxx b/sfx2/inc/sfxbasecontroller_internal.hxx
new file mode 100644
index 0000000..5b382f0
--- /dev/null
+++ b/sfx2/inc/sfxbasecontroller_internal.hxx
@@ -0,0 +1,18 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_SFX2_INC_SFXBASECONTROLLER_INTERNAL_HXX
+#define INCLUDED_SFX2_INC_SFXBASECONTROLLER_INTERNAL_HXX
+
+extern sal_uInt32 Get10ThSec();
+
+
+#endif // INCLUDED_SFX2_INC_SFXBASECONTROLLER_INTERNAL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/bastyp/progress.cxx b/sfx2/source/bastyp/progress.cxx
index 83410b689..e51a1d3 100644
--- a/sfx2/source/bastyp/progress.cxx
+++ b/sfx2/source/bastyp/progress.cxx
@@ -41,7 +41,8 @@
 #include <sfx2/sfxresid.hxx>
 #include "bastyp.hrc"
 #include <sfx2/msg.hxx>
-
+#include "sfxslots.hxx"
+#include "sfxbasecontroller_internal.hxx"
 #include <time.h>
 
 using namespace ::com::sun::star::uno;
@@ -72,13 +73,6 @@ struct SfxProgress_Impl
 
 
 
-#include "sfxslots.hxx"
-
-
-extern sal_uInt32 Get10ThSec();
-
-
-
 void SfxProgress_Impl::Enable_Impl( bool bEnable )
 {
     SfxObjectShell* pDoc = bAllDocs ? NULL : (SfxObjectShell*) xObjSh;
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index 34fe865..7939e42 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -72,14 +72,6 @@
 #include <com/sun/star/task/InteractionClassification.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::ucb;
-using namespace ::com::sun::star::document;
-using namespace ::com::sun::star::frame;
-using namespace ::com::sun::star::script;
-using namespace ::com::sun::star::script::provider;
-using namespace ::com::sun::star::container;
 #include <basic/sbuno.hxx>
 #include <basic/sbstar.hxx>
 #include <basic/basmgr.hxx>
@@ -130,9 +122,20 @@ using namespace ::com::sun::star::container;
 #include <sfx2/sfxdlg.hxx>
 #include "appbaslib.hxx"
 #include <openflag.hxx>
+#include <objstor.hxx>
+#include <appopen.hxx>
 
 #include <boost/scoped_ptr.hpp>
 
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::ucb;
+using namespace ::com::sun::star::document;
+using namespace ::com::sun::star::frame;
+using namespace ::com::sun::star::script;
+using namespace ::com::sun::star::script::provider;
+using namespace ::com::sun::star::container;
+
 // class SfxHeaderAttributes_Impl ----------------------------------------
 
 class SfxHeaderAttributes_Impl : public SvKeyValueIterator
@@ -1155,7 +1158,6 @@ bool SfxObjectShell::IsLoadingFinished() const
     return ( pImp->nLoadedFlags == SFX_LOADED_ALL );
 }
 
-void impl_addToModelCollection(const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& xModel);
 void SfxObjectShell::InitOwnModel_Impl()
 {
     if ( !pImp->bModelInitialized )
@@ -1285,8 +1287,6 @@ void SfxObjectShell::FinishedLoading( sal_uInt16 nFlags )
 }
 
 
-extern void SetTemplate_Impl( const OUString&, const OUString&, SfxObjectShell* );
-
 void SfxObjectShell::TemplateDisconnectionAfterLoad()
 {
     // document is created from a template
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 377a758..2cd15d0 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -127,6 +127,7 @@
 #include "graphhelp.hxx"
 #include "appbaslib.hxx"
 #include "appdata.hxx"
+#include <objstor.hxx>
 
 #include "../appl/app.hrc"
 
diff --git a/sfx2/source/doc/objstor.hxx b/sfx2/source/doc/objstor.hxx
new file mode 100644
index 0000000..a32e958
--- /dev/null
+++ b/sfx2/source/doc/objstor.hxx
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SFX2_SOURCE_DOC_OBJSTOR_HXX
+#define INCLUDED_SFX2_SOURCE_DOC_OBJSTOR_HXX
+
+void impl_addToModelCollection(const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& xModel);
+
+#endif // INCLUDED_SFX2_SOURCE_DOC_OBJSTOR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/inc/appopen.hxx b/sfx2/source/inc/appopen.hxx
index 5e63687..6360b0a 100644
--- a/sfx2/source/inc/appopen.hxx
+++ b/sfx2/source/inc/appopen.hxx
@@ -21,7 +21,6 @@
 #define INCLUDED_SFX2_SOURCE_INC_APPOPEN_HXX
 
 #include <sal/config.h>
-
 #include <sal/types.h>
 
 class SfxItemPool;
@@ -30,6 +29,9 @@ class SfxObjectShell;
 
 sal_uInt32 CheckPasswd_Impl( SfxObjectShell* pDoc, SfxItemPool &rPool, SfxMedium* pFile );
 
+void SetTemplate_Impl( const OUString&, const OUString&, SfxObjectShell* );
+
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx
index fb06fe6..953950a 100644
--- a/sfx2/source/view/sfxbasecontroller.cxx
+++ b/sfx2/source/view/sfxbasecontroller.cxx
@@ -78,6 +78,7 @@
 
 #include <sfx2/event.hxx>
 #include <sfx2/viewfac.hxx>
+#include "sfxbasecontroller_internal.hxx"
 
 #define TIMEOUT_START_RESCHEDULE    10L /* 10th s */
 
diff --git a/svx/source/stbctrls/modctrl.cxx b/svx/source/stbctrls/modctrl.cxx
index 63d50fd..de7e647 100644
--- a/svx/source/stbctrls/modctrl.cxx
+++ b/svx/source/stbctrls/modctrl.cxx
@@ -28,6 +28,7 @@
 #include <svx/dialmgr.hxx>
 
 #include <com/sun/star/beans/PropertyValue.hpp>
+#include "modctrl_internal.hxx"
 
 using ::com::sun::star::uno::Sequence;
 using ::com::sun::star::beans::PropertyValue;
diff --git a/svx/source/stbctrls/modctrl_internal.hxx b/svx/source/stbctrls/modctrl_internal.hxx
new file mode 100644
index 0000000..753bf95
--- /dev/null
+++ b/svx/source/stbctrls/modctrl_internal.hxx
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef INCLUDED_SVX_SOURCE_STBCTRLS_MODCTRL_INTERNAL_HXX
+#define INCLUDED_SVX_SOURCE_STBCTRLS_MODCTRL_INTERNAL_HXX
+
+Point centerImage(const Rectangle& rBoundingRect, const Image& rImg);
+
+#endif // INCLUDED_SVX_SOURCE_STBCTRLS_MODCTRL_INTERNAL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/stbctrls/zoomctrl.cxx b/svx/source/stbctrls/zoomctrl.cxx
index cd711eb..d5af62d 100644
--- a/svx/source/stbctrls/zoomctrl.cxx
+++ b/svx/source/stbctrls/zoomctrl.cxx
@@ -33,6 +33,7 @@
 #include <sfx2/zoomitem.hxx>
 #include "stbctrls.h"
 #include <svx/dialmgr.hxx>
+#include "modctrl_internal.hxx"
 
 SFX_IMPL_STATUSBAR_CONTROL(SvxZoomStatusBarControl,SvxZoomItem);
 
@@ -188,8 +189,6 @@ SvxZoomPageStatusBarControl::SvxZoomPageStatusBarControl(sal_uInt16 _nSlotId,
     GetStatusBar().SetQuickHelpText(GetId(), SVX_RESSTR(RID_SVXSTR_FIT_SLIDE));
 }
 
-extern Point centerImage(const Rectangle& rBoundingRect, const Image& rImg);
-
 void SvxZoomPageStatusBarControl::Paint(const UserDrawEvent& rUsrEvt)
 {
     OutputDevice* pDev = rUsrEvt.GetDevice();
diff --git a/svx/source/svdraw/svdoutlinercache.cxx b/svx/source/svdraw/svdoutlinercache.cxx
index 8f9eba8..e969798 100644
--- a/svx/source/svdraw/svdoutlinercache.cxx
+++ b/svx/source/svdraw/svdoutlinercache.cxx
@@ -20,8 +20,7 @@
 #include "svdoutlinercache.hxx"
 #include <svx/svdoutl.hxx>
 #include <svx/svdmodel.hxx>
-
-extern SdrOutliner* SdrMakeOutliner( sal_uInt16 nOutlinerMode, SdrModel* pModel );
+#include <svx/svdetc.hxx>
 
 SdrOutlinerCache::SdrOutlinerCache( SdrModel* pModel )
 :   mpModel( pModel ),
diff --git a/sw/Library_swui.mk b/sw/Library_swui.mk
index fe9e584..f32e182 100644
--- a/sw/Library_swui.mk
+++ b/sw/Library_swui.mk
@@ -22,6 +22,7 @@ $(eval $(call gb_Library_Library,swui))
 $(eval $(call gb_Library_set_include,swui,\
     -I$(SRCDIR)/sw/inc \
     -I$(SRCDIR)/sw/source/uibase/inc \
+    -I$(SRCDIR)/sw/source/ui/inc \
     -I$(WORKDIR)/SdiTarget/sw/sdi \
     $$(INCLUDE) \
 ))
diff --git a/sw/inc/dcontact.hxx b/sw/inc/dcontact.hxx
index fc8b107..9f5ef1f 100644
--- a/sw/inc/dcontact.hxx
+++ b/sw/inc/dcontact.hxx
@@ -56,10 +56,6 @@ bool HasWrap( const SdrObject* pObj );
 
 void setContextWritingMode( SdrObject* pObj, SwFrm* pAnchor );
 
-/** When changes occur remove object from ContourCache.
- Implementation in TxtFly.cxx. */
-void ClrContourCache( const SdrObject *pObj );
-
 /// @return BoundRect plus distance.
 SwRect GetBoundRectOfAnchoredObj( const SdrObject* pObj );
 
diff --git a/sw/source/core/inc/finalthreadmanager.hxx b/sw/inc/finalthreadmanager.hxx
similarity index 100%
rename from sw/source/core/inc/finalthreadmanager.hxx
rename to sw/inc/finalthreadmanager.hxx
diff --git a/sw/inc/reffld.hxx b/sw/inc/reffld.hxx
index c961bb6..740a561 100644
--- a/sw/inc/reffld.hxx
+++ b/sw/inc/reffld.hxx
@@ -26,6 +26,9 @@ class SwDoc;
 class SwTxtNode;
 class SwTxtFld;
 
+bool IsFrameBehind( const SwTxtNode& rMyNd, sal_Int32 nMySttPos,
+                    const SwTxtNode& rBehindNd, sal_Int32 nSttPos );
+
 enum REFERENCESUBTYPE
 {
     REF_SETREFATTR = 0,
diff --git a/sw/inc/swtable.hxx b/sw/inc/swtable.hxx
index 6ac05e0..545ed1d 100644
--- a/sw/inc/swtable.hxx
+++ b/sw/inc/swtable.hxx
@@ -60,6 +60,8 @@ struct SwSaveRowSpan;
 struct Parm;
 class SwServerObject;
 
+void sw_GetTblBoxColStr( sal_uInt16 nCol, OUString& rNm );
+
 class SwTableLines : public std::vector<SwTableLine*> {
 public:
     // free's any remaining child objects
diff --git a/sw/inc/unocoll.hxx b/sw/inc/unocoll.hxx
index 975fbbd..2603430 100644
--- a/sw/inc/unocoll.hxx
+++ b/sw/inc/unocoll.hxx
@@ -50,6 +50,9 @@ class SwSectionFmt;
 class SwFmtRefMark;
 class SwXReferenceMark;
 class SwXBookmark;
+struct SvEventDescription;
+
+const SvEventDescription* sw_GetSupportedMacroItems();
 
 class SwUnoCollection
 {
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index d42659d..85691bb 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -630,6 +630,12 @@ int sw_CompareCellRanges(
 
 void sw_NormalizeRange( OUString &rCell1, OUString &rCell2 );
 
+void sw_GetCellPosition( const OUString &rCellName, sal_Int32 &rColumn, sal_Int32 &rRow);
+
+OUString sw_GetCellName( sal_Int32 nColumn, sal_Int32 nRow );
+
+int sw_CompareCellsByColFirst( const OUString &rCellName1, const OUString &rCellName2 );
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index b81dde8..b767028 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -52,8 +52,7 @@
 #include <boost/scoped_ptr.hpp>
 
 #include <touch/touch.h>
-
-extern void SwCalcPixStatics( OutputDevice *pOut );
+#include <paintfrm.hxx>
 
 // Here static members are defined. They will get changed on alteration of the
 // MapMode. This is done so that on ShowCrsr the same size does not have to be
diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 9d552ef..19bc35a 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -45,6 +45,7 @@
 #include <docufld.hxx>
 #include <unoflatpara.hxx>
 #include <SwGrammarMarkUp.hxx>
+#include <docedt.hxx>
 
 #include <vector>
 
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 9832b23..df6bc19 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -63,9 +63,6 @@
 
 using namespace ::com::sun::star::uno;
 
-extern bool IsFrameBehind( const SwTxtNode& rMyNd, sal_Int32 nMySttPos,
-                        const SwTxtNode& rBehindNd, sal_Int32 nSttPos );
-
 /** Insert field types
  *
  * @param rFldTyp ???
diff --git a/sw/source/core/doc/htmltbl.cxx b/sw/source/core/doc/htmltbl.cxx
index c4c105d..0ca2f70 100644
--- a/sw/source/core/doc/htmltbl.cxx
+++ b/sw/source/core/doc/htmltbl.cxx
@@ -40,6 +40,9 @@
 #include "ndindex.hxx"
 #include "switerator.hxx"
 #include <boost/foreach.hpp>
+#ifdef DBG_UTIL
+#include "tblrwcl.hxx"
+#endif
 
 using namespace ::com::sun::star;
 
@@ -1676,9 +1679,6 @@ void SwHTMLTableLayout::SetWidths( bool bCallPass2, sal_uInt16 nAbsAvail,
 
 #ifdef DBG_UTIL
         {
-            // is located in tblrwcl.cxx
-            extern void _CheckBoxWidth( const SwTableLine&, SwTwips );
-
             // check if the tables have correct widths
             SwTwips nSize = pSwTable->GetFrmFmt()->GetFrmSize().GetWidth();
             const SwTableLines& rLines = pSwTable->GetTabLines();
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index e2cd1fcd..0f98c9c 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -74,11 +74,10 @@
 #include <drawinglayer/primitive2d/graphicprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/processor2d/processor2dtools.hxx>
+#include <txtfly.hxx>
 
 using namespace com::sun::star;
 
-extern void ClrContourCache( const SdrObject *pObj ); // TxtFly.Cxx
-
 inline bool GetRealURL( const SwGrfNode& rNd, OUString& rTxt )
 {
     bool bRet = rNd.GetFileFilterNms( &rTxt, 0 );
diff --git a/sw/source/core/docnode/ndsect.cxx b/sw/source/core/docnode/ndsect.cxx
index b004366..970a7aa 100644
--- a/sw/source/core/docnode/ndsect.cxx
+++ b/sw/source/core/docnode/ndsect.cxx
@@ -53,6 +53,7 @@
 #include <viewsh.hxx>
 #include <txtfrm.hxx>
 #include <boost/scoped_ptr.hpp>
+#include <ndsect.hxx>
 
 // #i21457# - new implementation of local method <lcl_IsInSameTblBox(..)>.
 // Method now determines the previous/next on its own. Thus, it can be controlled,
diff --git a/sw/source/core/docnode/ndsect.hxx b/sw/source/core/docnode/ndsect.hxx
new file mode 100644
index 0000000..9ca5f60
--- /dev/null
+++ b/sw/source/core/docnode/ndsect.hxx
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_DOCNODE_NDSECT_HXX
+#define INCLUDED_SW_SOURCE_CORE_DOCNODE_NDSECT_HXX
+
+void sw_DeleteFtn( SwSectionNode *pNd, sal_uLong nStt, sal_uLong nEnd );
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index 9baceca..32737f6 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -57,6 +57,7 @@
 #include <switerator.hxx>
 #include <svl/smplhint.hxx>
 #include <algorithm>
+#include <ndsect.hxx>
 
 using namespace ::com::sun::star;
 
@@ -674,8 +675,6 @@ SwSection * SwSectionFmt::GetSection() const
     return SwIterator<SwSection,SwSectionFmt>::FirstElement( *this );
 }
 
-extern void sw_DeleteFtn( SwSectionNode *pNd, sal_uLong nStt, sal_uLong nEnd );
-
 // Do not destroy all Frms in aDepend (Frms are recognized with a PTR_CAST).
 void SwSectionFmt::DelFrms()
 {
diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx
index ce33281..fdf2d50 100644
--- a/sw/source/core/draw/dcontact.cxx
+++ b/sw/source/core/draw/dcontact.cxx
@@ -68,6 +68,7 @@
 #include <switerator.hxx>
 #include <algorithm>
 #include <drawdoc.hxx>
+#include <txtfly.hxx>
 
 using namespace ::com::sun::star;
 
diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx
index cb1c552..36f15bf 100644
--- a/sw/source/core/frmedt/fefly1.cxx
+++ b/sw/source/core/frmedt/fefly1.cxx
@@ -67,6 +67,7 @@
 #include <fmtsrnd.hxx>
 #include <ndole.hxx>
 #include <editeng/opaqitem.hxx>
+#include <fefly.hxx>
 
 using namespace ::com::sun::star;
 
diff --git a/sw/source/core/inc/docedt.hxx b/sw/source/core/inc/docedt.hxx
new file mode 100644
index 0000000..0d7513e
--- /dev/null
+++ b/sw/source/core/inc/docedt.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_DOCEDT_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_DOCEDT_HXX
+
+void sw_JoinText( SwPaM& rPam, bool bJoinPrev );
+
+void sw_GetJoinFlags( SwPaM& rPam, bool& rJoinTxt, bool& rJoinPrev );
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/inc/fefly.hxx b/sw/source/core/inc/fefly.hxx
new file mode 100644
index 0000000..0c51868
--- /dev/null
+++ b/sw/source/core/inc/fefly.hxx
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_FEFLY_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_FEFLY_HXX
+
+bool sw_ChkAndSetNewAnchor( SwEditShell& rEditShell, const SwFlyFrm& rFly, SfxItemSet& rSet );
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/inc/fntcap.hxx b/sw/source/core/inc/fntcap.hxx
new file mode 100644
index 0000000..fe1a564
--- /dev/null
+++ b/sw/source/core/inc/fntcap.hxx
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_FNTCAP_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_FNTCAP_HXX
+
+sal_Int32 sw_CalcCaseMap( const SwFont& rFnt,
+                          const OUString& rOrigString,
+                          sal_Int32 nOfst,
+                          sal_Int32 nLen,
+                          sal_Int32 nIdx );
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/inc/frmtool.hxx b/sw/source/core/inc/frmtool.hxx
index 00cdf28..c836247 100644
--- a/sw/source/core/inc/frmtool.hxx
+++ b/sw/source/core/inc/frmtool.hxx
@@ -43,6 +43,7 @@ class OutputDevice;
 class Graphic;
 class GraphicAttr;
 class SwPageDesc;
+class SwFrmFmts;
 
 #define FAR_AWAY LONG_MAX - 20000  // initial position of a Fly
 #define BROWSE_HEIGHT 56700L * 10L // 10 Meters
@@ -50,6 +51,9 @@ class SwPageDesc;
 #define GRFNUM_YES 1
 #define GRFNUM_REPLACE 2
 
+void AppendObjs( const SwFrmFmts *pTbl, sal_uLong nIndex,
+                       SwFrm *pFrm, SwPageFrm *pPage );
+
 // draw background with brush or graphics
 // The 6th parameter indicates that the method should consider background
 // transparency, saved in the color of the brush item.
diff --git a/sw/source/core/inc/ftnfrm.hxx b/sw/source/core/inc/ftnfrm.hxx
index 3f6ef0b..f50ffdc 100644
--- a/sw/source/core/inc/ftnfrm.hxx
+++ b/sw/source/core/inc/ftnfrm.hxx
@@ -27,6 +27,8 @@ class SwTxtFtn;
 class SwBorderAttrs;
 class SwFtnFrm;
 
+void sw_RemoveFtns( SwFtnBossFrm* pBoss, bool bPageOnly, bool bEndNotes );
+
 // There exists a special section on a page for footnotes. It's called
 // SwFtnContFrm. Each footnote is separated by a SwFtnFrm which contains
 // the paragraphs of a footnote. SwFtnFrm can be splitted and will then
diff --git a/sw/source/core/inc/paintfrm.hxx b/sw/source/core/inc/paintfrm.hxx
new file mode 100644
index 0000000..941b60c
--- /dev/null
+++ b/sw/source/core/inc/paintfrm.hxx
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_PAINTFRM_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_PAINTFRM_HXX
+
+void SwCalcPixStatics( OutputDevice *pOut );
+
+#endif // INCLUDED_SW_SOURCE_CORE_INC_PAINTFRM_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/inc/swfont.hxx b/sw/source/core/inc/swfont.hxx
index bee664a..0c1bc28 100644
--- a/sw/source/core/inc/swfont.hxx
+++ b/sw/source/core/inc/swfont.hxx
@@ -43,6 +43,8 @@ const sal_Unicode CH_TAB   = '\t';  // \t
 const sal_Unicode CH_PAR    = 0xB6;     // paragraph
 const sal_Unicode CH_BULLET = 0xB7;     // centered dot
 
+sal_uInt16 UnMapDirection( sal_uInt16 nDir, const bool bVertFormat );
+
 class SwSubFont : public SvxFont
 {
     friend class SwFont;
diff --git a/sw/source/core/text/txtfly.hxx b/sw/source/core/inc/txtfly.hxx
similarity index 98%
rename from sw/source/core/text/txtfly.hxx
rename to sw/source/core/inc/txtfly.hxx
index 77bfe71..4ff7c57 100644
--- a/sw/source/core/text/txtfly.hxx
+++ b/sw/source/core/inc/txtfly.hxx
@@ -16,11 +16,14 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
-#ifndef INCLUDED_SW_SOURCE_CORE_TEXT_TXTFLY_HXX
-#define INCLUDED_SW_SOURCE_CORE_TEXT_TXTFLY_HXX
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_TXTFLY_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_TXTFLY_HXX
 
 #include "swtypes.hxx"
 #include "swrect.hxx"
+#include <fmtsrndenum.hxx>
+#include <txttypes.hxx>
+#include <vector>
 
 class OutputDevice;
 class SwCntntFrm;
@@ -31,26 +34,25 @@ class SwTxtPaintInfo;
 class SwFmt;
 class TextRanger;
 class SwAnchoredObject;
+class SwTxtFrm;
+class SwDrawTextInfo;
+class SwContourCache;
 
-#include <fmtsrndenum.hxx>
-
-#include <vector>
 typedef std::vector< SwAnchoredObject* > SwAnchoredObjList;
 
 enum PAGESIDE { LEFT_SIDE, RIGHT_SIDE, DONTKNOW_SIDE };
 
-class SwDrawTextInfo;
-class SwContourCache;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list