Kaydet (Commit) 60802598 authored tarafından Luboš Luňák's avatar Luboš Luňák

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
üst ab9b5639
# -*- 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.kukan@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:
# -*- 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.kukan@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:
......@@ -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 \
......
/* -*- 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: */
# -*- 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.kukan@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:
# -*- 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.kukan@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:
......@@ -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 \
))
......
/* -*- 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: */
# -*- 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.kukan@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:
# -*- 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.kukan@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:
......@@ -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) \
......
......@@ -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 */
......@@ -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_ */
......
......@@ -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: */
......@@ -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: */
......@@ -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
......
/* -*- 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: */
# -*- 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.kukan@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:
# -*- 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.kukan@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:
......@@ -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:
/* -*- 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: */
......@@ -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 :=
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment