Add initial scaffolding for pythonmaker
This commit introduces the 'pythonmaker' executable, a new tool in the codemaker module. pythonmaker generates Python type stub files (.pyi) from UNO IDL type libraries (.rdb files). This enables static type checking and modern IDE features like auto-completion for developers writing Python scripts for LibreOffice. This commit includes the complete, feature-complete tool capable of handling all major IDL entity types (enums, constants, typedefs, structs, exceptions, interfaces, services, and singletons). Change-Id: I52f783aa982e1de04a207a9a884aee207f99d193 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185498 Tested-by: Jenkins Tested-by: Hossein <hossein@libreoffice.org> Reviewed-by: Hossein <hossein@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# -*- 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_Executable_Executable,pythonmaker))
|
||||
|
||||
$(eval $(call gb_Executable_use_external,pythonmaker,frozen))
|
||||
|
||||
$(eval $(call gb_Executable_use_external,pythonmaker,boost_headers))
|
||||
|
||||
ifeq ($(DISABLE_DYNLOADING),TRUE)
|
||||
$(eval $(call gb_Executable_use_externals,pythonmaker,\
|
||||
dtoa \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_Executable_use_libraries,pythonmaker,\
|
||||
unoidl \
|
||||
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),reg) \
|
||||
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),store) \
|
||||
salhelper \
|
||||
sal \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Executable_use_static_libraries,pythonmaker,\
|
||||
codemaker \
|
||||
))
|
||||
|
||||
# Source files are located in codemaker/source/pythonmaker/
|
||||
# Paths are relative to the 'libreoffice' root directory
|
||||
$(eval $(call gb_Executable_add_exception_objects,pythonmaker,\
|
||||
codemaker/source/pythonmaker/pythonmaker \
|
||||
codemaker/source/pythonmaker/pythonoptions \
|
||||
codemaker/source/pythonmaker/pythontype \
|
||||
))
|
||||
|
||||
# vim:set noet sw=4 ts=4:
|
||||
Reference in New Issue
Block a user