cppu/CppunitTest_cppu_checkapi.mk | 55 +++++++++++++++++++++++ cppu/CustomTarget_cppu_allheaders.mk | 49 ++++++++++++++++++++ cppu/Module_cppu.mk | 2 cppu/qa/checkapi/strings.cxx | 30 ++++++++++++ cppuhelper/CppunitTest_cppuhelper_checkapi.mk | 55 +++++++++++++++++++++++ cppuhelper/CustomTarget_cppuhelper_allheaders.mk | 49 ++++++++++++++++++++ cppuhelper/Module_cppuhelper.mk | 2 cppuhelper/qa/checkapi/strings.cxx | 30 ++++++++++++ sal/CppunitTest_sal_checkapi.mk | 50 ++++++++++++++++++++ sal/CustomTarget_sal_allheaders.mk | 52 +++++++++++++++++++++ sal/Module_sal.mk | 2 sal/inc/osl/detail/android_native_app_glue.h | 2 sal/inc/rtl/strbuf.hxx | 4 + sal/inc/rtl/string.hxx | 5 ++ sal/inc/rtl/ustrbuf.hxx | 4 + sal/inc/rtl/ustring.hxx | 11 ++++ sal/qa/checkapi/strings.cxx | 30 ++++++++++++ salhelper/CppunitTest_salhelper_checkapi.mk | 50 ++++++++++++++++++++ salhelper/CustomTarget_salhelper_allheaders.mk | 49 ++++++++++++++++++++ salhelper/Module_salhelper.mk | 5 ++ salhelper/qa/checkapi/strings.cxx | 30 ++++++++++++ solenv/gbuild/LinkTarget.mk | 8 ++- solenv/gbuild/Module.mk | 1 starmath/source/ooxmlexport.cxx | 12 ++--- starmath/source/ooxmlimport.cxx | 2 starmath/source/ooxmlimport.hxx | 44 +++++++++--------- 26 files changed, 601 insertions(+), 32 deletions(-)
New commits: commit 268492ede6264bb389d947db197fc072b11ac352 Author: LuboÅ¡ LuÅák <l.lu...@suse.cz> Date: Mon Jul 16 14:36:53 2012 +0200 rtl::O(U)String -> O(U)String Change-Id: I45f5a8407b57c06a7cb0dad25c7ac5879711488d diff --git a/starmath/source/ooxmlexport.cxx b/starmath/source/ooxmlexport.cxx index 8468630..d1970dc 100644 --- a/starmath/source/ooxmlexport.cxx +++ b/starmath/source/ooxmlexport.cxx @@ -203,7 +203,7 @@ void SmOoxmlExport::HandleText( const SmNode* pNode, int /*nLevel*/) } m_pSerializer->startElementNS( XML_m, XML_t, FSNS( XML_xml, XML_space ), "preserve", FSEND ); SmTextNode* pTemp=(SmTextNode* )pNode; - SAL_INFO( "starmath.ooxml", "Text:" << rtl::OUStringToOString( pTemp->GetText(), RTL_TEXTENCODING_UTF8 ).getStr()); + SAL_INFO( "starmath.ooxml", "Text:" << OUStringToOString( pTemp->GetText(), RTL_TEXTENCODING_UTF8 ).getStr()); for(xub_StrLen i=0;i<pTemp->GetText().Len();i++) { #if 0 @@ -224,7 +224,7 @@ void SmOoxmlExport::HandleText( const SmNode* pNode, int /*nLevel*/) *pS << sal_uInt8(nFace+128); //typeface #endif sal_uInt16 nChar = pTemp->GetText().GetChar(i); - m_pSerializer->writeEscaped( rtl::OUString( SmTextNode::ConvertSymbolToUnicode(nChar))); + m_pSerializer->writeEscaped( OUString( SmTextNode::ConvertSymbolToUnicode(nChar))); #if 0 //Mathtype can only have these sort of character @@ -329,8 +329,8 @@ void SmOoxmlExport::HandleAttribute( const SmAttributNode* pNode, int nLevel ) { m_pSerializer->startElementNS( XML_m, XML_acc, FSEND ); m_pSerializer->startElementNS( XML_m, XML_accPr, FSEND ); - rtl::OString value = rtl::OUStringToOString( - rtl::OUString( pNode->Attribute()->GetToken().cMathChar ), RTL_TEXTENCODING_UTF8 ); + OString value = OUStringToOString( + OUString( pNode->Attribute()->GetToken().cMathChar ), RTL_TEXTENCODING_UTF8 ); m_pSerializer->singleElementNS( XML_m, XML_chr, FSNS( XML_m, XML_val ), value.getStr(), FSEND ); m_pSerializer->endElementNS( XML_m, XML_accPr ); m_pSerializer->startElementNS( XML_m, XML_e, FSEND ); @@ -408,13 +408,13 @@ void SmOoxmlExport::HandleRoot( const SmRootNode* pNode, int nLevel ) m_pSerializer->endElementNS( XML_m, XML_rad ); } -static rtl::OString mathSymbolToString( const SmNode* node ) +static OString mathSymbolToString( const SmNode* node ) { assert( node->GetType() == NMATH ); const SmTextNode* txtnode = static_cast< const SmTextNode* >( node ); assert( txtnode->GetText().Len() == 1 ); sal_Unicode chr = SmTextNode::ConvertSymbolToUnicode( txtnode->GetText().GetChar( 0 )); - return rtl::OUStringToOString( rtl::OUString( chr ), RTL_TEXTENCODING_UTF8 ); + return OUStringToOString( OUString( chr ), RTL_TEXTENCODING_UTF8 ); } void SmOoxmlExport::HandleOperator( const SmOperNode* pNode, int nLevel ) diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index 1b28266..0ca2d05 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -35,8 +35,6 @@ using namespace oox; using namespace oox::formulaimport; -using rtl::OUString; -using rtl::OUStringBuffer; /* The primary internal data structure for the formula is the text representation diff --git a/starmath/source/ooxmlimport.hxx b/starmath/source/ooxmlimport.hxx index dc6816f..bdb8348 100644 --- a/starmath/source/ooxmlimport.hxx +++ b/starmath/source/ooxmlimport.hxx @@ -41,30 +41,30 @@ class SmOoxmlImport { public: SmOoxmlImport( oox::formulaimport::XmlStream& stream ); - rtl::OUString ConvertToStarMath(); + OUString ConvertToStarMath(); private: - rtl::OUString handleStream(); - rtl::OUString handleAcc(); - rtl::OUString handleBar(); - rtl::OUString handleBox(); - rtl::OUString handleBorderBox(); - rtl::OUString handleD(); - rtl::OUString handleEqArr(); - rtl::OUString handleF(); - rtl::OUString handleFunc(); + OUString handleStream(); + OUString handleAcc(); + OUString handleBar(); + OUString handleBox(); + OUString handleBorderBox(); + OUString handleD(); + OUString handleEqArr(); + OUString handleF(); + OUString handleFunc(); enum LimLowUpp_t { LimLow, LimUpp }; - rtl::OUString handleLimLowUpp( LimLowUpp_t limlowupp ); - rtl::OUString handleGroupChr(); - rtl::OUString handleM(); - rtl::OUString handleNary(); - rtl::OUString handleR(); - rtl::OUString handleRad(); - rtl::OUString handleSpre(); - rtl::OUString handleSsub(); - rtl::OUString handleSsubsup(); - rtl::OUString handleSsup(); - rtl::OUString readOMathArg(); - rtl::OUString readOMathArgInElement( int token ); + OUString handleLimLowUpp( LimLowUpp_t limlowupp ); + OUString handleGroupChr(); + OUString handleM(); + OUString handleNary(); + OUString handleR(); + OUString handleRad(); + OUString handleSpre(); + OUString handleSsub(); + OUString handleSsubsup(); + OUString handleSsup(); + OUString readOMathArg(); + OUString readOMathArgInElement( int token ); oox::formulaimport::XmlStream& stream; }; commit 6080259862ee9886d1dabcb7c06132268a398cc6 Author: LuboÅ¡ LuÅák <l.lu...@suse.cz> Date: Mon Jul 16 14:33:06 2012 +0200 allow using rtl::OUString etc. simply as OUString, without rtl:: http://lists.freedesktop.org/archives/libreoffice/2012-April/029940.html The RTL_USING #define (set by gbuild for anything that's not public API) allows to use such classes simply by their name, without having to use the namespace or do explicit using rtl::OUString (which half of the sources do anyway). Change-Id: I7edaf12cd278489cdc1d5ff782f0a86361c13c0a diff --git a/cppu/CppunitTest_cppu_checkapi.mk b/cppu/CppunitTest_cppu_checkapi.mk new file mode 100644 index 0000000..98832d0 --- /dev/null +++ b/cppu/CppunitTest_cppu_checkapi.mk @@ -0,0 +1,55 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CppunitTest_CppunitTest,cppu_checkapi)) + +$(eval $(call gb_CppunitTest_add_exception_objects,cppu_checkapi,\ + cppu/qa/checkapi/strings \ +)) + +$(eval $(call gb_CppunitTest_set_include,cppu_checkapi,\ + $$(INCLUDE) \ + -I$(SRCDIR)/cppu/inc \ +)) + +$(eval $(call gb_CppunitTest_use_internal_comprehensive_api,cppu_checkapi, \ + cppu \ + udkapi \ +)) + +# strings.cxx includes generated strings.hxx +$(call gb_CxxObject_get_target,cppu/qa/checkapi/strings) : \ + INCLUDE += -I$(call gb_CustomTarget_get_workdir,cppu/allheaders) +$(call gb_CxxObject_get_target,cppu/qa/checkapi/strings) :| \ + $(call gb_CustomTarget_get_workdir,cppu/allheaders)/cppu_allheaders.hxx + +$(eval $(call gb_CppunitTest_use_libraries,cppu_checkapi,\ + cppu \ + $(gb_STDLIBS) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/cppu/CustomTarget_cppu_allheaders.mk b/cppu/CustomTarget_cppu_allheaders.mk new file mode 100644 index 0000000..9097ae4 --- /dev/null +++ b/cppu/CustomTarget_cppu_allheaders.mk @@ -0,0 +1,49 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CustomTarget_CustomTarget,cppu/allheaders)) + +cppu_allheaders_DIR := $(call gb_CustomTarget_get_workdir,cppu/allheaders) + +$(call gb_CustomTarget_get_target,cppu/allheaders) : \ + $(cppu_allheaders_DIR)/cppu_allheaders.hxx + +# dependency on Package_inc.mk should ensure this is updated whenever a new public header is added +$(cppu_allheaders_DIR)/cppu_allheaders.hxx :| $(cppu_allheaders_DIR)/.dir $(SRCDIR)/cppu/Package_inc.mk + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + echo '// Generated list of all cppu/ includes' > $@ + echo -e \ + $(foreach file, $(wildcard $(SRCDIR)/cppu/inc/*.h) $(wildcard $(SRCDIR)/cppu/inc/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*/*/*.hxx), \ + $(if $(findstring /win32/, $(file)), '#ifdef _WIN32\n') \ + '#include <$(subst $(SRCDIR)/cppu/inc/,,$(file))>\n' \ + $(if $(findstring /win32/, $(file)), '#endif // _WIN32\n') \ + ) >> $@ + +# vim: set noet sw=4 ts=4: diff --git a/cppu/Module_cppu.mk b/cppu/Module_cppu.mk index c34117b..7742d2d 100644 --- a/cppu/Module_cppu.mk +++ b/cppu/Module_cppu.mk @@ -28,6 +28,7 @@ $(eval $(call gb_Module_Module,cppu)) $(eval $(call gb_Module_add_targets,cppu,\ + CustomTarget_cppu_allheaders \ InternalUnoApi_cppu \ Library_affine_uno \ Library_cppu \ @@ -38,6 +39,7 @@ $(eval $(call gb_Module_add_targets,cppu,\ )) $(eval $(call gb_Module_add_check_targets,cppu,\ + CppunitTest_cppu_checkapi \ CppunitTest_cppu_qa_any \ CppunitTest_cppu_qa_recursion \ CppunitTest_cppu_qa_reference \ diff --git a/cppu/qa/checkapi/strings.cxx b/cppu/qa/checkapi/strings.cxx new file mode 100644 index 0000000..0d35912 --- /dev/null +++ b/cppu/qa/checkapi/strings.cxx @@ -0,0 +1,30 @@ +/* -*- 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/. + */ + +// The whole purpose of this test is to check that public cppu/ headers +// build even without RTL_USING (which enables using e.g. rtl::OUString +// without to refer to the rtl namespace, which is not wanted +// in public API). If there are build errors here, check the headers +// for uses of such types. + +#ifdef RTL_USING +#error Build system problem, RTL_USING using should not be set here. +#endif + +#include "cppu_allheaders.hxx" + +// This module contains no tests, this is for the build system. +#include <cppunit/plugin/TestPlugIn.h> +CPPUNIT_PLUGIN_IMPLEMENT(); +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL firstfunc( sal_Bool bRes ) +{ + return ( bRes = sal_True ); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/CppunitTest_cppuhelper_checkapi.mk b/cppuhelper/CppunitTest_cppuhelper_checkapi.mk new file mode 100644 index 0000000..98832d0 --- /dev/null +++ b/cppuhelper/CppunitTest_cppuhelper_checkapi.mk @@ -0,0 +1,55 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CppunitTest_CppunitTest,cppu_checkapi)) + +$(eval $(call gb_CppunitTest_add_exception_objects,cppu_checkapi,\ + cppu/qa/checkapi/strings \ +)) + +$(eval $(call gb_CppunitTest_set_include,cppu_checkapi,\ + $$(INCLUDE) \ + -I$(SRCDIR)/cppu/inc \ +)) + +$(eval $(call gb_CppunitTest_use_internal_comprehensive_api,cppu_checkapi, \ + cppu \ + udkapi \ +)) + +# strings.cxx includes generated strings.hxx +$(call gb_CxxObject_get_target,cppu/qa/checkapi/strings) : \ + INCLUDE += -I$(call gb_CustomTarget_get_workdir,cppu/allheaders) +$(call gb_CxxObject_get_target,cppu/qa/checkapi/strings) :| \ + $(call gb_CustomTarget_get_workdir,cppu/allheaders)/cppu_allheaders.hxx + +$(eval $(call gb_CppunitTest_use_libraries,cppu_checkapi,\ + cppu \ + $(gb_STDLIBS) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/cppuhelper/CustomTarget_cppuhelper_allheaders.mk b/cppuhelper/CustomTarget_cppuhelper_allheaders.mk new file mode 100644 index 0000000..9097ae4 --- /dev/null +++ b/cppuhelper/CustomTarget_cppuhelper_allheaders.mk @@ -0,0 +1,49 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CustomTarget_CustomTarget,cppu/allheaders)) + +cppu_allheaders_DIR := $(call gb_CustomTarget_get_workdir,cppu/allheaders) + +$(call gb_CustomTarget_get_target,cppu/allheaders) : \ + $(cppu_allheaders_DIR)/cppu_allheaders.hxx + +# dependency on Package_inc.mk should ensure this is updated whenever a new public header is added +$(cppu_allheaders_DIR)/cppu_allheaders.hxx :| $(cppu_allheaders_DIR)/.dir $(SRCDIR)/cppu/Package_inc.mk + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + echo '// Generated list of all cppu/ includes' > $@ + echo -e \ + $(foreach file, $(wildcard $(SRCDIR)/cppu/inc/*.h) $(wildcard $(SRCDIR)/cppu/inc/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*/*.hxx) \ + $(wildcard $(SRCDIR)/cppu/inc/*/*/*/*.h) $(wildcard $(SRCDIR)/cppu/inc/*/*/*/*.hxx), \ + $(if $(findstring /win32/, $(file)), '#ifdef _WIN32\n') \ + '#include <$(subst $(SRCDIR)/cppu/inc/,,$(file))>\n' \ + $(if $(findstring /win32/, $(file)), '#endif // _WIN32\n') \ + ) >> $@ + +# vim: set noet sw=4 ts=4: diff --git a/cppuhelper/Module_cppuhelper.mk b/cppuhelper/Module_cppuhelper.mk index e2e0fb2..1fd498b 100644 --- a/cppuhelper/Module_cppuhelper.mk +++ b/cppuhelper/Module_cppuhelper.mk @@ -28,6 +28,7 @@ $(eval $(call gb_Module_Module,cppuhelper)) $(eval $(call gb_Module_add_targets,cppuhelper,\ + CustomTarget_cppuhelper_allheaders \ InternalUnoApi_cppuhelper \ Library_cppuhelper \ Package_findsofficepath \ @@ -36,6 +37,7 @@ $(eval $(call gb_Module_add_targets,cppuhelper,\ )) $(eval $(call gb_Module_add_check_targets,cppuhelper,\ + CppunitTest_cppuhelper_checkapi \ CppunitTest_cppuhelper_cppu_ifcontainer \ CppunitTest_cppuhelper_cppu_unourl \ )) diff --git a/cppuhelper/qa/checkapi/strings.cxx b/cppuhelper/qa/checkapi/strings.cxx new file mode 100644 index 0000000..9a5c65a --- /dev/null +++ b/cppuhelper/qa/checkapi/strings.cxx @@ -0,0 +1,30 @@ +/* -*- 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/. + */ + +// The whole purpose of this test is to check that public cppuhelper/ headers +// build even without RTL_USING (which enables using e.g. rtl::OUString +// without to refer to the rtl namespace, which is not wanted +// in public API). If there are build errors here, check the headers +// for uses of such types. + +#ifdef RTL_USING +#error Build system problem, RTL_USING using should not be set here. +#endif + +#include "cppuhelper_allheaders.hxx" + +// This module contains no tests, this is for the build system. +#include <cppunit/plugin/TestPlugIn.h> +CPPUNIT_PLUGIN_IMPLEMENT(); +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL firstfunc( sal_Bool bRes ) +{ + return ( bRes = sal_True ); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/CppunitTest_sal_checkapi.mk b/sal/CppunitTest_sal_checkapi.mk new file mode 100644 index 0000000..280fd73 --- /dev/null +++ b/sal/CppunitTest_sal_checkapi.mk @@ -0,0 +1,50 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CppunitTest_CppunitTest,sal_checkapi)) + +$(eval $(call gb_CppunitTest_add_exception_objects,sal_checkapi,\ + sal/qa/checkapi/strings \ +)) + +$(eval $(call gb_CppunitTest_set_include,sal_checkapi,\ + $$(INCLUDE) \ + -I$(SRCDIR)/sal/inc \ +)) + +# strings.cxx includes generated strings.hxx +$(call gb_CxxObject_get_target,sal/qa/checkapi/strings) : \ + INCLUDE += -I$(call gb_CustomTarget_get_workdir,sal/allheaders) +$(call gb_CxxObject_get_target,sal/qa/checkapi/strings) :| \ + $(call gb_CustomTarget_get_workdir,sal/allheaders)/sal_allheaders.hxx + +$(eval $(call gb_CppunitTest_use_libraries,sal_checkapi,\ + sal \ + $(gb_STDLIBS) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/sal/CustomTarget_sal_allheaders.mk b/sal/CustomTarget_sal_allheaders.mk new file mode 100644 index 0000000..b008a3c --- /dev/null +++ b/sal/CustomTarget_sal_allheaders.mk @@ -0,0 +1,52 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CustomTarget_CustomTarget,sal/allheaders)) + +sal_allheaders_DIR := $(call gb_CustomTarget_get_workdir,sal/allheaders) + +$(call gb_CustomTarget_get_target,sal/allheaders) : \ + $(sal_allheaders_DIR)/sal_allheaders.hxx + +# dependency on Package_inc.mk should ensure this is updated whenever a new public header is added +$(sal_allheaders_DIR)/sal_allheaders.hxx :| $(sal_allheaders_DIR)/.dir $(SRCDIR)/sal/Package_inc.mk + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + echo '// Generated list of all sal/ includes' > $@ + echo '#ifdef WNT' >> $@ + echo '#include <windows.h>' >> $@ + echo '#endif' >> $@ + echo -e \ + $(foreach file, $(wildcard $(SRCDIR)/sal/inc/*.h) $(wildcard $(SRCDIR)/sal/inc/*.hxx) \ + $(wildcard $(SRCDIR)/sal/inc/*/*.h) $(wildcard $(SRCDIR)/sal/inc/*/*.hxx) \ + $(wildcard $(SRCDIR)/sal/inc/*/*/*.h) $(wildcard $(SRCDIR)/sal/inc/*/*/*.hxx) \ + $(wildcard $(SRCDIR)/sal/inc/*/*/*/*.h) $(wildcard $(SRCDIR)/sal/inc/*/*/*/*.hxx), \ + $(if $(findstring /win32/, $(file)), '#ifdef WNT\n') \ + '#include <$(subst $(SRCDIR)/sal/inc/,,$(file))>\n' \ + $(if $(findstring /win32/, $(file)), '#endif // WNT\n') \ + ) >> $@ + +# vim: set noet sw=4 ts=4: diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk index 4bf0ec8..2a10c52 100644 --- a/sal/Module_sal.mk +++ b/sal/Module_sal.mk @@ -30,6 +30,7 @@ $(eval $(call gb_Module_Module,sal)) $(eval $(call gb_Module_add_targets,sal,\ CustomTarget_generated \ + CustomTarget_sal_allheaders \ $(if $(filter $(OS),IOS),, \ Executable_osl_process_child) \ Executable_cppunittester \ @@ -48,6 +49,7 @@ $(eval $(call gb_Module_add_targets,sal,\ $(eval $(call gb_Module_add_check_targets,sal,\ CppunitTest_Module_DLL \ CppunitTest_sal_bytesequence \ + CppunitTest_sal_checkapi \ CppunitTest_sal_osl_condition \ $(if $(filter $(OS),WNT),, \ CppunitTest_sal_osl_file) \ diff --git a/sal/inc/osl/detail/android_native_app_glue.h b/sal/inc/osl/detail/android_native_app_glue.h index 1b8c1f1..07b2f02 100644 --- a/sal/inc/osl/detail/android_native_app_glue.h +++ b/sal/inc/osl/detail/android_native_app_glue.h @@ -17,6 +17,7 @@ #ifndef _ANDROID_NATIVE_APP_GLUE_H #define _ANDROID_NATIVE_APP_GLUE_H +#if defined(ANDROID) #include <poll.h> #include <pthread.h> @@ -346,4 +347,5 @@ extern void android_main(struct android_app* app); } #endif +#endif // ANDROID #endif /* _ANDROID_NATIVE_APP_GLUE_H */ diff --git a/sal/inc/rtl/strbuf.hxx b/sal/inc/rtl/strbuf.hxx index 7711308..62c1799 100644 --- a/sal/inc/rtl/strbuf.hxx +++ b/sal/inc/rtl/strbuf.hxx @@ -849,6 +849,10 @@ typedef rtlunittest::OStringBuffer OStringBuffer; #undef RTL_STRING_CONST_FUNCTION #endif +#ifdef RTL_USING +using ::rtl::OStringBuffer; +#endif + #endif /* __cplusplus */ #endif /* _RTL_STRBUF_HXX_ */ diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx index 4e76b74..8c3757f 100644 --- a/sal/inc/rtl/string.hxx +++ b/sal/inc/rtl/string.hxx @@ -1470,6 +1470,11 @@ struct OStringHash } /* Namespace */ +#ifdef RTL_USING +using ::rtl::OString; +using ::rtl::OStringHash; +#endif + #endif /* _RTL_STRING_HXX_ */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/rtl/ustrbuf.hxx b/sal/inc/rtl/ustrbuf.hxx index a887107..a11dff1 100644 --- a/sal/inc/rtl/ustrbuf.hxx +++ b/sal/inc/rtl/ustrbuf.hxx @@ -962,6 +962,10 @@ typedef rtlunittest::OUStringBuffer OUStringBuffer; } #endif +#ifdef RTL_USING +using ::rtl::OUStringBuffer; +#endif + #endif /* _RTL_USTRBUF_HXX_ */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/rtl/ustring.hxx b/sal/inc/rtl/ustring.hxx index 427950f..d70a43c 100644 --- a/sal/inc/rtl/ustring.hxx +++ b/sal/inc/rtl/ustring.hxx @@ -2085,6 +2085,17 @@ inline OString OUStringToOString( const OUString & rUnicode, } /* Namespace */ +// RTL_USING is defined by gbuild for all modules except those with stable public API +// (as listed in ure/source/README). It allows to use classes like OUString without +// having to explicitly refer to the rtl namespace, which is kind of superfluous +// given that OUString itself is namespaced by its OU prefix. +#ifdef RTL_USING +using ::rtl::OUString; +using ::rtl::OUStringHash; +using ::rtl::OStringToOUString; +using ::rtl::OUStringToOString; +#endif + #endif /* _RTL_USTRING_HXX */ // Include the ostream << operator directly here, so that it's always available diff --git a/sal/qa/checkapi/strings.cxx b/sal/qa/checkapi/strings.cxx new file mode 100644 index 0000000..f3a1d2f --- /dev/null +++ b/sal/qa/checkapi/strings.cxx @@ -0,0 +1,30 @@ +/* -*- 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/. + */ + +// The whole purpose of this test is to check that public sal/ headers +// build even without RTL_USING (which enables using e.g. rtl::OUString +// without to refer to the rtl namespace, which is not wanted +// in public API). If there are build errors here, check the headers +// for uses of such types. + +#ifdef RTL_USING +#error Build system problem, RTL_USING using should not be set here. +#endif + +#include "sal_allheaders.hxx" + +// This module contains no tests, this is for the build system. +#include <cppunit/plugin/TestPlugIn.h> +CPPUNIT_PLUGIN_IMPLEMENT(); +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL firstfunc( sal_Bool bRes ) +{ + return ( bRes = sal_True ); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/salhelper/CppunitTest_salhelper_checkapi.mk b/salhelper/CppunitTest_salhelper_checkapi.mk new file mode 100644 index 0000000..92a8768 --- /dev/null +++ b/salhelper/CppunitTest_salhelper_checkapi.mk @@ -0,0 +1,50 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CppunitTest_CppunitTest,salhelper_checkapi)) + +$(eval $(call gb_CppunitTest_add_exception_objects,salhelper_checkapi,\ + salhelper/qa/checkapi/strings \ +)) + +$(eval $(call gb_CppunitTest_set_include,salhelper_checkapi,\ + $$(INCLUDE) \ + -I$(SRCDIR)/salhelper/inc \ +)) + +# strings.cxx includes generated strings.hxx +$(call gb_CxxObject_get_target,salhelper/qa/checkapi/strings) : \ + INCLUDE += -I$(call gb_CustomTarget_get_workdir,salhelper/allheaders) +$(call gb_CxxObject_get_target,salhelper/qa/checkapi/strings) :| \ + $(call gb_CustomTarget_get_workdir,salhelper/allheaders)/salhelper_allheaders.hxx + +$(eval $(call gb_CppunitTest_use_libraries,salhelper_checkapi,\ + salhelper \ + $(gb_STDLIBS) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/salhelper/CustomTarget_salhelper_allheaders.mk b/salhelper/CustomTarget_salhelper_allheaders.mk new file mode 100644 index 0000000..f760426 --- /dev/null +++ b/salhelper/CustomTarget_salhelper_allheaders.mk @@ -0,0 +1,49 @@ +# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2011 Matúš Kukan <matus.ku...@gmail.com> (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CustomTarget_CustomTarget,salhelper/allheaders)) + +salhelper_allheaders_DIR := $(call gb_CustomTarget_get_workdir,salhelper/allheaders) + +$(call gb_CustomTarget_get_target,salhelper/allheaders) : \ + $(salhelper_allheaders_DIR)/salhelper_allheaders.hxx + +# dependency on Package_inc.mk should ensure this is updated whenever a new public header is added +$(salhelper_allheaders_DIR)/salhelper_allheaders.hxx :| $(salhelper_allheaders_DIR)/.dir $(SRCDIR)/salhelper/Package_inc.mk + $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) + echo '// Generated list of all salhelper/ includes' > $@ + echo -e \ + $(foreach file, $(wildcard $(SRCDIR)/salhelper/inc/*.h) $(wildcard $(SRCDIR)/salhelper/inc/*.hxx) \ + $(wildcard $(SRCDIR)/salhelper/inc/*/*.h) $(wildcard $(SRCDIR)/salhelper/inc/*/*.hxx) \ + $(wildcard $(SRCDIR)/salhelper/inc/*/*/*.h) $(wildcard $(SRCDIR)/salhelper/inc/*/*/*.hxx) \ + $(wildcard $(SRCDIR)/salhelper/inc/*/*/*/*.h) $(wildcard $(SRCDIR)/salhelper/inc/*/*/*/*.hxx), \ + $(if $(findstring /win32/, $(file)), '#ifdef _WIN32\n') \ + '#include <$(subst $(SRCDIR)/salhelper/inc/,,$(file))>\n' \ + $(if $(findstring /win32/, $(file)), '#endif // _WIN32\n') \ + ) >> $@ + +# vim: set noet sw=4 ts=4: diff --git a/salhelper/Module_salhelper.mk b/salhelper/Module_salhelper.mk index 08df523..7f111d8 100644 --- a/salhelper/Module_salhelper.mk +++ b/salhelper/Module_salhelper.mk @@ -28,8 +28,13 @@ $(eval $(call gb_Module_Module,salhelper)) $(eval $(call gb_Module_add_targets,salhelper,\ + CustomTarget_salhelper_allheaders \ Library_salhelper \ Package_inc \ )) +$(eval $(call gb_Module_add_check_targets,salhelper,\ + CppunitTest_salhelper_checkapi \ +)) + # vim: set noet sw=4 ts=4: diff --git a/salhelper/qa/checkapi/strings.cxx b/salhelper/qa/checkapi/strings.cxx new file mode 100644 index 0000000..6b63430 --- /dev/null +++ b/salhelper/qa/checkapi/strings.cxx @@ -0,0 +1,30 @@ +/* -*- 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/. + */ + +// The whole purpose of this test is to check that public salhelper/ headers +// build even without RTL_USING (which enables using e.g. rtl::OUString +// without to refer to the rtl namespace, which is not wanted +// in public API). If there are build errors here, check the headers +// for uses of such types. + +#ifdef RTL_USING +#error Build system problem, RTL_USING using should not be set here. +#endif + +#include "salhelper_allheaders.hxx" + +// This module contains no tests, this is for the build system. +#include <cppunit/plugin/TestPlugIn.h> +CPPUNIT_PLUGIN_IMPLEMENT(); +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL firstfunc( sal_Bool bRes ) +{ + return ( bRes = sal_True ); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 7036bfa..7599597 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -299,6 +299,10 @@ endif gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS) +define gb_LinkTarget_rtl_defs +$(if $(filter-out sal salhelper cppu cppuhelper, $(gb_Module_CURRENTMODULE_NAME)), -DRTL_USING) +endef + # defined by platform # gb_LinkTarget_CXXFLAGS # gb_LinkTarget_LDFLAGS @@ -471,7 +475,7 @@ $(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(call gb_LinkTarget_get_target,$(1)) : T_OBJCFLAGS := $$(gb_LinkTarget_OBJCFLAGS) $(call gb_LinkTarget_get_headers_target,$(1)) \ -$(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS) +$(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $$(call gb_LinkTarget_rtl_defs,$(1)) $(CPPFLAGS) $(call gb_LinkTarget_get_headers_target,$(1)) \ $(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE) $(call gb_LinkTarget_get_headers_target,$(1)) \ @@ -503,7 +507,7 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFL $(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCFLAGS := $$(gb_LinkTarget_OBJCFLAGS) $(call gb_LinkTarget_get_dep_target,$(1)) : T_YACCFLAGS := $$(gb_LinkTarget_YYACFLAGS) $(YACCFLAGS) -$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS) +$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $$(call gb_LinkTarget_rtl_defs,$(1)) $(CPPFLAGS) $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE) $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCLUDE_STL) $(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE := diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk index 435d1c9..ae75d1d 100644 --- a/solenv/gbuild/Module.mk +++ b/solenv/gbuild/Module.mk @@ -202,6 +202,7 @@ gb_Module_SLOWCHECKTARGETSTACK := $(call gb_Module_get_slowcheck_target,$(1)) $( gb_Module_SUBSEQUENTCHECKTARGETSTACK := $(call gb_Module_get_subsequentcheck_target,$(1)) $(gb_Module_SUBSEQUENTCHECKTARGETSTACK) gb_Module_CLEANTARGETSTACK := $(call gb_Module_get_clean_target,$(1)) $(gb_Module_CLEANTARGETSTACK) gb_Module_CURRENTMODULE_DEBUG_ENABLED := $(call gb_Module__debug_enabled,$(1)) +gb_Module_CURRENTMODULE_NAME := $(1) endef
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits