809409ca84
So far, there was an internal copy of the IAccessible2 IDL file added in 2013, and never updated since then (except for cosmetic changes like formatting and typo fixes), and therefore it e.g. doesn't have the `IA2_ROLE_BLOCK_QUOTE` role needed for tdf#135586. Drop the outdated internal copy and integrate an up to date upstream version (current git master) instead. Instead of duplicating things in an internal copy, switch to using the usual mechanism for externals. The IAccessible2 source contains separate .idl files for the different interfaces, while the previous interal copy was already the merged IDL file. Call the IAccessible2 `./concatidl.sh` script to generate the merged `ia2_api_all.idl` (s. external/IAccessible2/ExternalProject_IAccessible2.mk) and adapt the winaccessibility make files to use that version instead of the internal copy. (Add a dependency to the target that generates `ia2_api_all.idl`.) The tarball was generated from the master branch of the IAccessible2 git repo [1] as of commit 3d8c7f0b833453f761ded6b12d8be431507bfe0b (HEAD -> master, origin/master, origin/HEAD, mygithub/master) Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Oct 13 04:16:03 2023 +0300 Update no longer working links (#26) * Update link to Linux Foundation Trademark Policy * Update link to Object Attributes specification Signed-off-by: Michael Weghorn <m.weghorn@posteo.de> using this command: $ git archive -o ../IAccessible2-1.3+git20231013.3d8c7f0.tar.gz --prefix=IAccessible2-1.3+git20231013.3d8c7f0/ master Andrea Gelmini's typo fixes have been upstreamed in [2]. [1] https://github.com/LinuxA11y/IAccessible2 [2] https://github.com/LinuxA11y/IAccessible2/pull/21 Change-Id: I9f19ff55694da5d3a9a8750be8de387cbf6da785 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158427 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
60 lines
2.2 KiB
Makefile
60 lines
2.2 KiB
Makefile
# -*- 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/.
|
|
#
|
|
|
|
$(eval $(call gb_CustomTarget_CustomTarget,winaccessibility/ia2/idl))
|
|
|
|
iaccessible2_DIR := $(call gb_UnpackedTarball_get_dir,IAccessible2)
|
|
wina11y_COMIDLDIR := $(call gb_CustomTarget_get_workdir,winaccessibility/ia2/idl)
|
|
wina11y_SOURCE := $(SRCDIR)/winaccessibility/source/UAccCOMIDL
|
|
|
|
# We cannot depend on *.tlb because they only produced by IDL compiler
|
|
# if idl contains 'library' statement.
|
|
$(call gb_CustomTarget_get_target,winaccessibility/ia2/idl) : \
|
|
$(wina11y_COMIDLDIR)/UAccCOM.h \
|
|
$(wina11y_COMIDLDIR)/defines.h \
|
|
$(wina11y_COMIDLDIR)/ia2_api_all.h
|
|
|
|
$(wina11y_COMIDLDIR)/ia2_api_all.h: $(call gb_ExternalProject_get_target,IAccessible2) \
|
|
| $(wina11y_COMIDLDIR)/.dir
|
|
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),IDL,1)
|
|
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),IDL)
|
|
$(call gb_Helper_abbreviate_dirs, \
|
|
midl.exe \
|
|
-tlb $(wina11y_COMIDLDIR)/ia2_api_all.tlb \
|
|
-h $(wina11y_COMIDLDIR)/ia2_api_all.h \
|
|
-iid $(wina11y_COMIDLDIR)/ia2_api_all_i.c \
|
|
-dlldata $(wina11y_COMIDLDIR)/dlldata.c \
|
|
-proxy $(wina11y_COMIDLDIR)/ia2_api_all_p.c \
|
|
-Oicf \
|
|
$(SOLARINC) \
|
|
-I $(wina11y_SOURCE) \
|
|
-I $(iaccessible2_DIR) \
|
|
$(iaccessible2_DIR)/ia2_api_all.idl)
|
|
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),IDL)
|
|
|
|
$(wina11y_COMIDLDIR)/%.h : $(wina11y_SOURCE)/%.idl \
|
|
$(call gb_ExternalProject_get_target,IAccessible2) \
|
|
| $(wina11y_COMIDLDIR)/.dir
|
|
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),IDL,1)
|
|
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),IDL)
|
|
$(call gb_Helper_abbreviate_dirs, \
|
|
midl.exe \
|
|
-tlb $(wina11y_COMIDLDIR)/$*.tlb \
|
|
-h $(wina11y_COMIDLDIR)/$*.h \
|
|
-iid $(wina11y_COMIDLDIR)/$*_i.c \
|
|
-dlldata $(wina11y_COMIDLDIR)/dlldata.c \
|
|
-proxy $(wina11y_COMIDLDIR)/$*_p.c \
|
|
-Oicf \
|
|
$(SOLARINC) \
|
|
-I $(wina11y_SOURCE) \
|
|
-I $(iaccessible2_DIR) \
|
|
$<)
|
|
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),IDL)
|
|
|
|
# vim:set shiftwidth=4 tabstop=4 noexpandtab:
|