# -*- 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/. #
# ExternalPackage class
# This class extends Package to reliably deliver header files (and # possibly other kinds of files) from unpacked tarballs. The problem # with using Package is that the unpacked files' timestamps do not # depend on the extraction time; when the project's tarball is updated, # some header files might have been changed, but it is likely their # timestamps will be older than these of the headers delivered from the # previous version, so the delivered headers will not be updated. # # Uff, I hope this is at least partially understandable :-) # # Note: An ExternalPackage object can be used in functions that expect a # Package (e.g., gb_LinkTarget_use_package(s)).
# Create and register a new ExternalPackage # # The base directory of the package is the directory of the unpacked # tarball. # # gb_ExternalPackage_ExternalPackage name unpacked define gb_ExternalPackage_ExternalPackage
$(call gb_ExternalPackage_ExternalPackage_internal,$(1),$(2))
# Create a new ExternalPackage # # This function should only be used in implementations of other gbuild # classes. # # gb_ExternalPackage_ExternalPackage_internal name unpacked define gb_ExternalPackage_ExternalPackage_internal
$(call gb_Package_Package_internal,$(1),$(gb_UnpackedTarball_workdir)/$(2))
$(call gb_Package_use_unpacked,$(1),$(2))
# Set output dir for the package's files. # # Default is $(INSTROOT). # # gb_ExternalPackage_set_outdir package outdir define gb_ExternalPackage_set_outdir
$(call gb_Package_set_outdir,$(1),$(2))
endef
# Mark a source file to be used outside of this module # # This results in the timestamp of the file being updated, so a possible # change is recognized properly by other files depending on it. # # gb_ExternalPackage_mark_generated_file package file define gb_ExternalPackage_mark_generated_file
$(gb_UnpackedTarball_workdir)/$(gb_ExternalPackage_UNPACKED_$(1))/$(2) : \
$(call gb_ExternalProject_get_target,$(gb_ExternalPackage_PROJECT_$(1)))
$(if $(suffix $(2)),\
$(call gb_UnpackedTarbal__ensure_pattern_rule,$(gb_ExternalPackage_UNPACKED_$(1)),$(suffix $(2))),\
$(call gb_UnpackedTarbal__make_file_rule,$(gb_ExternalPackage_UNPACKED_$(1)),$(2)) \
)
endef
# Mark several source files to be used outside of this module # # gb_ExternalProject_mark_generated_files package file(s) define gb_ExternalPackage_mark_generated_files
$(foreach file,$(2),$(call gb_ExternalPackage_mark_generated_file,$(1),$(file)))
# Add a file # # See gb_Package_add_file for details. # # gb_ExternalPackage_add_file package dest src define gb_ExternalPackage_add_file
$(if $(4),$(call gb_Output_error,gb_ExternalPackage_add_file: $(1) 4: $(4)))
$(call gb_ExternalPackage_mark_generated_file,$(1),$(3))
$(call gb_Package_add_file,$(1),$(2),$(3))
endef
# Add several files at once # # See gb_Package_add_files for details. # # gb_ExternalPackage_add_files package destdir file(s) define gb_ExternalPackage_add_files
$(call gb_ExternalPackage_mark_generated_files,$(1),$(3))
$(call gb_Package_add_files,$(1),$(2),$(3))
endef
# Add several files at once # # See gb_Package_add_files_with_dir for details. # # gb_ExternalPackage_add_files_with_dir package destdir file(s) define gb_ExternalPackage_add_files_with_dir
$(call gb_ExternalPackage_mark_generated_files,$(1),$(3))
$(call gb_Package_add_files_with_dir,$(1),$(2),$(3))
# Add several unpacked files at once # # See gb_Package_add_files for details. # # gb_ExternalPackage_add_unpacked_files package destdir file(s) define gb_ExternalPackage_add_unpacked_files
$(call gb_Package_add_files,$(1),$(2),$(3))
$(call gb_ExternalPackage__add_files,$(1),$(3))
endef
# Add several unpacked files at once # # See gb_Package_add_files_with_dir for details. # # gb_ExternalPackage_add_unpacked_files_with_dir package destdir file(s) define gb_ExternalPackage_add_unpacked_files_with_dir
$(call gb_Package_add_files_with_dir,$(1),$(2),$(3))
$(call gb_ExternalPackage__add_files,$(1),$(3))
endef
# Package files from unpacked tarball of an external project # # gb_ExternalPackage_use_unpacked package unpacked define gb_ExternalPackage_use_unpacked
$(call gb_Package_use_unpacked,$(1),$(2))
endef
# Package files from build of an external project # # gb_ExternalPackage_use_external_project package external define gb_ExternalPackage_use_external_project
$(call gb_Package_use_external_project,$(1),$(2))
$(if $(gb_ExternalPackage_PROJECT_$(1)),$(call gb_Output_error,gb_ExternalPackage_use_external_project: only one project allowed))
gb_ExternalPackage_PROJECT_$(1) := $(2)
endef
# vim: set noet sw=4 ts=4:
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
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.