# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- # # 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 . #
# Allow to redefine header variant. # # On iOS we use static linking because dynamic loading of own code # isn't allowed by the iOS App Store rules, and we want our code to be # eventually distributable there as part of apps. # # To avoid problems that this causes together with the lovely # intentional breaking of the One Definition Rule, for iOS we always # generate comprehensive headers for certain type RDBS. (The ODR # breakage doesn't harm, by accident or careful design, on platforms # where shared libraries are used.) To avoid generating the same headers # more than once, we are silently "redirecting" the target to point to # comprehensive headers instead. # # Example: # If gb_UnoApiHeadersTarget_select_variant is defined as # # ifeq ($(DISABLE_DYNLOADING),TRUE) # gb_UnoApiHeadersTarget_select_variant = $(if $(filter udkapi,$(1)),comprehensive,$(2)) # else # gb_UnoApiHeadersTarget_select_variant = $(2) # endif # # then, for the DISABLE_DYNLOADING case, whenever a makefile uses # $(call gb_UnoApiHeadersTarget_get_target,udkapi) or $(call # gb_UnoApiHeadersTarget_get_dir,udkapi), it will get target or dir for # comprehensive headers instead. # # We are experimenting with static linking on Android, too. There for # technical reasons to get around silly limitations in the OS, sigh. # # gb_UnoApiHeadersTarget_select_variant api default-variant ifeq ($(DISABLE_DYNLOADING),TRUE)
gb_UnoApiHeadersTarget_select_variant = $(if $(filter udkapi,$(1)),comprehensive,$(2)) else
gb_UnoApiHeadersTarget_select_variant = $(2) endif
# need dummy recipes so that header files are delivered in Package_inc; # otherwise make will consider the header to be up-to-date because it was # actually built by the recipe for gb_UnoApiHeadersTarget_get_target
$(call gb_UnoApiHeadersTarget_get_real_dir,$(1))/%.hdl : \
$(call gb_Executable_get_target_for_build,cppumaker) \
| $(call gb_UnoApiHeadersTarget_get_real_target,$(1))
touch $$@
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.