VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/python/Makefile.kmk@ 78197

Last change on this file since 78197 was 70577, checked in by vboxsync, 7 years ago

xpcom/VBoxPython: Fixed broken string handling in py3. Fixed wrong module+init names with the pymalloc abi variant.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 16.5 KB
Line 
1# $Id: Makefile.kmk 70577 2018-01-13 18:43:03Z vboxsync $
2## @file
3# Sub-Makefile for Python bindings
4#
5
6#
7# Copyright (C) 2009-2017 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21ifdef VBOX_WITH_MULTIVERSION_PYTHON
22 VBOX_MULTIPYTHON = 1
23else
24 VBOX_MULTIPYTHON = 0
25endif
26
27#
28# List of supported Python versions, defining a number of
29# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|DEF]_[INC|LIB] variables
30# which get picked up below.
31#
32ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
33 ifndef VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_6
34 if1of ($(VBOX_DEF_MACOSX_VERSION_MIN), 10.5 10.4)
35 VBOX_PYTHON26_INC = $(VBOX_PATH_MACOSX_SDK_10_6)/usr/include/python2.6
36 VBOX_PYTHON26_LIB = $(VBOX_PATH_MACOSX_SDK_10_6)/usr/lib/libpython2.6.dylib
37 else if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.9" && "$(VBOX_XCODE_VERSION)" == "6.2" # 'effing 10.9 SDK in Xcode 6.2 is missing python. Stupid, stupid Apple!!
38 VBOX_PYTHON26_INC = $(VBOX_PATH_MACOSX_SDK)/../MacOSX10.10.sdk/System/Library/Frameworks/Python.framework/Versions/2.6/Headers
39 VBOX_PYTHON26_LIB = $(VBOX_PATH_MACOSX_SDK)/../MacOSX10.10.sdk/System/Library/Frameworks/Python.framework/Versions/2.6/Python
40 else
41 VBOX_PYTHON26_INC = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Python.framework/Versions/2.6/Headers
42 VBOX_PYTHON26_LIB = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Python.framework/Versions/2.6/Python
43 endif
44 if !defined(VBOX_OSE) || "$(wildcard $(VBOX_PYTHON26_LIB))" != ""
45 VBOX_PYTHON26_LIB_X86 = $(VBOX_PYTHON26_LIB)
46 else
47 VBOX_PYTHON26_INC =
48 VBOX_PYTHON26_LIB =
49 endif
50 endif
51 ifndef VBOX_WITHOUT_VBOXPYTHON_FOR_OSX_10_7
52 if1of ($(VBOX_DEF_MACOSX_VERSION_MIN), 10.6 10.5 10.4)
53 VBOX_PYTHON27_INC = $(VBOX_PATH_MACOSX_SDK_10_7)/usr/include/python2.7
54 VBOX_PYTHON27_LIB = $(VBOX_PATH_MACOSX_SDK_10_7)/usr/lib/libpython2.7.dylib
55 else if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.9" && "$(VBOX_XCODE_VERSION)" == "6.2" # 'effing 10.9 SDK in Xcode 6.2 is missing python. Stupid, stupid Apple!!
56 VBOX_PYTHON27_INC = $(VBOX_PATH_MACOSX_SDK)/../MacOSX10.10.sdk/System/Library/Frameworks/Python.framework/Versions/2.7/Headers
57 VBOX_PYTHON27_LIB = $(VBOX_PATH_MACOSX_SDK)/../MacOSX10.10.sdk/System/Library/Frameworks/Python.framework/Versions/2.7/Python
58 else
59 VBOX_PYTHON27_INC = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Python.framework/Versions/2.7/Headers
60 VBOX_PYTHON27_LIB = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Python.framework/Versions/2.7/Python
61 endif
62 if !defined(VBOX_OSE) || "$(wildcard $(VBOX_PYTHON27_LIB))" != ""
63 VBOX_PYTHON27_LIB_X86 = $(VBOX_PYTHON27_LIB)
64 else
65 VBOX_PYTHON27_INC =
66 VBOX_PYTHON27_LIB =
67 endif
68 endif
69 # No Python 3.x yet as part of OSX versions including El Capitan, 10.11.
70
71else
72 # Use the script.
73 $(eval $(subst |,$(NL),$(shell $(VBOX_BLD_PYTHON) \
74 $(PATH_SUB_CURRENT)/gen_python_deps.py \
75 $(KBUILD_TARGET) \
76 $(KBUILD_TARGET_ARCH) \
77 $(VBOX_MULTIPYTHON) )))
78endif
79
80ifndef VBOX_ONLY_SDK
81
82#
83# Base Python Client Module - the C++/XPCOM bits (not actually built).
84#
85VBoxPythonBase_TEMPLATE = XPCOM
86VBoxPythonBase_CXXFLAGS = -Wno-write-strings
87VBoxPythonBase_DLLSUFF.darwin = .so
88VBoxPythonBase_DEFS = \
89 _IMPL_NS_COM \
90 _IMPL_NS_BASE \
91 EXPORT_XPTI_API \
92 EXPORT_XPT_API \
93 VBOX_PYXPCOM \
94 VBOX_WITH_XPCOM \
95 VBOX_PYXPCOM_VERSIONED
96#VBoxPythonBase_DEFS.debug = \
97# VBOX_DEBUG_LIFETIMES
98VBoxPythonBase_INCS = \
99 src
100VBoxPythonBase_SOURCES = \
101 src/module/_xpcom.cpp \
102 src/dllmain.cpp \
103 src/ErrorUtils.cpp \
104 src/PyGBase.cpp \
105 src/PyGInputStream.cpp \
106 src/PyGModule.cpp \
107 src/PyGStub.cpp \
108 src/PyGWeakReference.cpp \
109 src/PyIClassInfo.cpp \
110 src/PyIComponentManager.cpp \
111 src/PyIComponentManagerObsolete.cpp \
112 src/PyIEnumerator.cpp \
113 src/PyIID.cpp \
114 src/PyIInputStream.cpp \
115 src/PyIInterfaceInfo.cpp \
116 src/PyIInterfaceInfoManager.cpp \
117 src/PyISimpleEnumerator.cpp \
118 src/PyISupports.cpp \
119 src/PyIVariant.cpp \
120 src/Pyxpt_info.cpp \
121 src/TypeObject.cpp \
122 src/VariantUtils.cpp
123VBoxPythonBase_LIBS = \
124 $(PATH_STAGE_LIB)/VBoxCOM$(VBOX_SUFF_LIB) \
125 $(PATH_STAGE_BIN)/VBoxXPCOM$(VBOX_SUFF_DLL)
126
127# pymalloc abi variant.
128VBoxPythonBase_m_EXTENDS = VBoxPythonBase
129VBoxPythonBase_m_DEFS = MODULE_NAME_SUFFIX=m $(VBoxPythonBase_DEFS)
130
131# 32-bit base.
132VBoxPythonBase_x86_TEMPLATE = XPCOM-x86
133VBoxPythonBase_x86_EXTENDS = VBoxPythonBase
134VBoxPythonBase_x86_DEFS = MODULE_NAME_SUFFIX=_x86 $(VBoxPythonBase_DEFS)
135VBoxPythonBase_x86_LIBS = \
136 $(PATH_STAGE_LIB)/VBoxCOM-x86$(VBOX_SUFF_LIB) \
137 $(PATH_STAGE_BIN)/VBoxXPCOM-x86$(VBOX_SUFF_DLL)
138
139# 32-bit pymalloc abi variant.
140VBoxPythonBase_x86_m_EXTENDS = VBoxPythonBase_x86
141VBoxPythonBase_x86_m_DEFS = MODULE_NAME_SUFFIX=_x86m $(VBoxPythonBase_DEFS)
142
143
144ifdef VBOX_PYTHON26_INC
145#
146# Python 2.6 version
147#
148DLLS += VBoxPython2_6
149VBoxPython2_6_EXTENDS = VBoxPythonBase
150VBoxPython2_6_EXTENDS_BY = appending
151VBoxPython2_6_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.6",OSX106,)
152VBoxPython2_6_INCS = $(VBOX_PYTHON26_INC)
153VBoxPython2_6_LIBS = $(VBOX_PYTHON26_LIB)
154
155 ifdef VBOX_WITH_32_ON_64_MAIN_API
156 ifdef VBOX_PYTHON26_LIB_X86
157DLLS += VBoxPython2_6_x86
158VBoxPython2_6_x86_EXTENDS = VBoxPythonBase_x86
159VBoxPython2_6_x86_EXTENDS_BY = appending
160VBoxPython2_6_x86_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.6",OSX106,-x86)
161VBoxPython2_6_x86_INCS = $(VBOX_PYTHON26_INC)
162VBoxPython2_6_x86_LIBS = $(VBOX_PYTHON26_LIB_X86)
163 endif
164 endif
165endif
166
167ifdef VBOX_PYTHON27_INC
168#
169# Python 2.7 version
170#
171DLLS += VBoxPython2_7
172VBoxPython2_7_EXTENDS = VBoxPythonBase
173VBoxPython2_7_EXTENDS_BY = appending
174VBoxPython2_7_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.7",OSX107,)
175VBoxPython2_7_INCS = $(VBOX_PYTHON27_INC)
176VBoxPython2_7_LIBS = $(VBOX_PYTHON27_LIB)
177
178 ifdef VBOX_WITH_32_ON_64_MAIN_API
179 ifdef VBOX_PYTHON27_LIB_X86
180DLLS += VBoxPython2_7_x86
181VBoxPython2_7_x86_EXTENDS = VBoxPythonBase_x86
182VBoxPython2_7_x86_EXTENDS_BY = appending
183VBoxPython2_7_x86_TEMPLATE = XPCOM$(if-expr "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_DEF_MACOSX_VERSION_MIN)" <= "10.7",OSX107,-x86)
184VBoxPython2_7_x86_INCS = $(VBOX_PYTHON27_INC)
185VBoxPython2_7_x86_LIBS = $(VBOX_PYTHON27_LIB_X86)
186 endif
187 endif
188endif
189
190ifdef VBOX_PYTHON31_INC
191#
192# Python 3.1 version
193#
194DLLS += VBoxPython3_1
195VBoxPython3_1_EXTENDS = VBoxPythonBase
196VBoxPython3_1_EXTENDS_BY = appending
197VBoxPython3_1_TEMPLATE = XPCOM
198VBoxPython3_1_INCS = $(VBOX_PYTHON31_INC)
199VBoxPython3_1_LIBS = $(VBOX_PYTHON31_LIB)
200
201 ifdef VBOX_WITH_32_ON_64_MAIN_API
202 ifdef VBOX_PYTHON31_LIB_X86
203DLLS += VBoxPython3_1_x86
204VBoxPython3_1_x86_EXTENDS = VBoxPythonBase_x86
205VBoxPython3_1_x86_EXTENDS_BY = appending
206VBoxPython3_1_x86_TEMPLATE = XPCOM
207VBoxPython3_1_x86_INCS = $(VBOX_PYTHON31_INC)
208VBoxPython3_1_x86_LIBS = $(VBOX_PYTHON31_LIB_X86)
209 endif
210 endif
211endif
212
213ifdef VBOX_PYTHON32_INC
214#
215# Python 3.2 version
216#
217DLLS += VBoxPython3_2
218VBoxPython3_2_EXTENDS = VBoxPythonBase
219VBoxPython3_2_EXTENDS_BY = appending
220VBoxPython3_2_TEMPLATE = XPCOM
221VBoxPython3_2_INCS = $(VBOX_PYTHON32_INC)
222VBoxPython3_2_LIBS = $(VBOX_PYTHON32_LIB)
223
224 ifdef VBOX_WITH_32_ON_64_MAIN_API
225 ifdef VBOX_PYTHON32_LIB_X86
226DLLS += VBoxPython3_2_x86
227VBoxPython3_2_x86_EXTENDS = VBoxPythonBase_x86
228VBoxPython3_2_x86_EXTENDS_BY = appending
229VBoxPython3_2_x86_TEMPLATE = XPCOM
230VBoxPython3_2_x86_INCS = $(VBOX_PYTHON32_INC)
231VBoxPython3_2_x86_LIBS = $(VBOX_PYTHON32_LIB_X86)
232 endif
233 endif
234endif
235
236ifdef VBOX_PYTHON32M_INC
237#
238# Python 3.2 version with pymalloc
239#
240DLLS += VBoxPython3_2m
241VBoxPython3_2m_EXTENDS = VBoxPythonBase_m
242VBoxPython3_2m_EXTENDS_BY = appending
243VBoxPython3_2m_TEMPLATE = XPCOM
244VBoxPython3_2m_INCS = $(VBOX_PYTHON32M_INC)
245VBoxPython3_2m_LIBS = $(VBOX_PYTHON32M_LIB)
246VBoxPython3_2m_DEFS = MODULE_NAME_SUFFIX
247
248 ifdef VBOX_WITH_32_ON_64_MAIN_API
249 ifdef VBOX_PYTHON32M_LIB_X86
250DLLS += VBoxPython3_2m_x86
251VBoxPython3_2m_x86_EXTENDS = VBoxPythonBase_x86_m
252VBoxPython3_2m_x86_EXTENDS_BY = appending
253VBoxPython3_2m_x86_TEMPLATE = XPCOM
254VBoxPython3_2m_x86_INCS = $(VBOX_PYTHON32M_INC)
255VBoxPython3_2m_x86_LIBS = $(VBOX_PYTHON32M_LIB_X86)
256 endif
257 endif
258endif
259
260ifdef VBOX_PYTHON33_INC
261#
262# Python 3.3 version
263#
264DLLS += VBoxPython3_3
265VBoxPython3_3_EXTENDS = VBoxPythonBase
266VBoxPython3_3_EXTENDS_BY = appending
267VBoxPython3_3_TEMPLATE = XPCOM
268VBoxPython3_3_INCS = $(VBOX_PYTHON33_INC)
269VBoxPython3_3_LIBS = $(VBOX_PYTHON33_LIB)
270
271 ifdef VBOX_WITH_32_ON_64_MAIN_API
272 ifdef VBOX_PYTHON33_LIB_X86
273DLLS += VBoxPython3_3_x86
274VBoxPython3_3_x86_EXTENDS = VBoxPythonBase_x86
275VBoxPython3_3_x86_EXTENDS_BY = appending
276VBoxPython3_3_x86_TEMPLATE = XPCOM
277VBoxPython3_3_x86_INCS = $(VBOX_PYTHON33_INC)
278VBoxPython3_3_x86_LIBS = $(VBOX_PYTHON33_LIB_X86)
279 endif
280 endif
281endif
282
283ifdef VBOX_PYTHON33M_INC
284#
285# Python 3.3 version with pymalloc
286#
287DLLS += VBoxPython3_3m
288VBoxPython3_3m_EXTENDS = VBoxPythonBase_m
289VBoxPython3_3m_EXTENDS_BY = appending
290VBoxPython3_3m_TEMPLATE = XPCOM
291VBoxPython3_3m_INCS = $(VBOX_PYTHON33M_INC)
292VBoxPython3_3m_LIBS = $(VBOX_PYTHON33M_LIB)
293
294 ifdef VBOX_WITH_32_ON_64_MAIN_API
295 ifdef VBOX_PYTHON33M_LIB_X86
296DLLS += VBoxPython3_3m_x86
297VBoxPython3_3m_x86_EXTENDS = VBoxPythonBase_x86_m
298VBoxPython3_3m_x86_EXTENDS_BY = appending
299VBoxPython3_3m_x86_TEMPLATE = XPCOM
300VBoxPython3_3m_x86_INCS = $(VBOX_PYTHON33M_INC)
301VBoxPython3_3m_x86_LIBS = $(VBOX_PYTHON33M_LIB_X86)
302 endif
303 endif
304endif
305
306ifdef VBOX_PYTHON34_INC
307#
308# Python 3.4 version
309#
310DLLS += VBoxPython3_4
311VBoxPython3_4_EXTENDS = VBoxPythonBase
312VBoxPython3_4_EXTENDS_BY = appending
313VBoxPython3_4_TEMPLATE = XPCOM
314VBoxPython3_4_INCS = $(VBOX_PYTHON34_INC)
315VBoxPython3_4_LIBS = $(VBOX_PYTHON34_LIB)
316
317 ifdef VBOX_WITH_32_ON_64_MAIN_API
318 ifdef VBOX_PYTHON34_LIB_X86
319DLLS += VBoxPython3_4_x86
320VBoxPython3_4_x86_EXTENDS = VBoxPythonBase_x86
321VBoxPython3_4_x86_EXTENDS_BY = appending
322VBoxPython3_4_x86_TEMPLATE = XPCOM
323VBoxPython3_4_x86_INCS = $(VBOX_PYTHON34_INC)
324VBoxPython3_4_x86_LIBS = $(VBOX_PYTHON34_LIB_X86)
325 endif
326 endif
327endif
328
329ifdef VBOX_PYTHON34M_INC
330#
331# Python 3.4 version with pymalloc
332#
333DLLS += VBoxPython3_4m
334VBoxPython3_4m_EXTENDS = VBoxPythonBase_m
335VBoxPython3_4m_EXTENDS_BY = appending
336VBoxPython3_4m_TEMPLATE = XPCOM
337VBoxPython3_4m_INCS = $(VBOX_PYTHON34M_INC)
338VBoxPython3_4m_LIBS = $(VBOX_PYTHON34M_LIB)
339
340 ifdef VBOX_WITH_32_ON_64_MAIN_API
341 ifdef VBOX_PYTHON34M_LIB_X86
342DLLS += VBoxPython3_4m_x86
343VBoxPython3_4m_x86_EXTENDS = VBoxPythonBase_x86_m
344VBoxPython3_4m_x86_EXTENDS_BY = appending
345VBoxPython3_4m_x86_TEMPLATE = XPCOM
346VBoxPython3_4m_x86_INCS = $(VBOX_PYTHON34M_INC)
347VBoxPython3_4m_x86_LIBS = $(VBOX_PYTHON34M_LIB_X86)
348 endif
349 endif
350endif
351
352ifdef VBOX_PYTHON35_INC
353#
354# Python 3.5 version
355#
356DLLS += VBoxPython3_5
357VBoxPython3_5_EXTENDS = VBoxPythonBase
358VBoxPython3_5_EXTENDS_BY = appending
359VBoxPython3_5_TEMPLATE = XPCOM
360VBoxPython3_5_INCS = $(VBOX_PYTHON35_INC)
361VBoxPython3_5_LIBS = $(VBOX_PYTHON35_LIB)
362
363 ifdef VBOX_WITH_32_ON_64_MAIN_API
364 ifdef VBOX_PYTHON35_LIB_X86
365DLLS += VBoxPython3_5_x86
366VBoxPython3_5_x86_EXTENDS = VBoxPythonBase_x86
367VBoxPython3_5_x86_EXTENDS_BY = appending
368VBoxPython3_5_x86_TEMPLATE = XPCOM
369VBoxPython3_5_x86_INCS = $(VBOX_PYTHON35_INC)
370VBoxPython3_5_x86_LIBS = $(VBOX_PYTHON35_LIB_X86)
371 endif
372 endif
373endif
374
375ifdef VBOX_PYTHON35M_INC
376#
377# Python 3.5 version with pymalloc
378#
379DLLS += VBoxPython3_5m
380VBoxPython3_5m_EXTENDS = VBoxPythonBase_m
381VBoxPython3_5m_EXTENDS_BY = appending
382VBoxPython3_5m_TEMPLATE = XPCOM
383VBoxPython3_5m_INCS = $(VBOX_PYTHON35M_INC)
384VBoxPython3_5m_LIBS = $(VBOX_PYTHON35M_LIB)
385
386 ifdef VBOX_WITH_32_ON_64_MAIN_API
387 ifdef VBOX_PYTHON35M_LIB_X86
388DLLS += VBoxPython3_5m_x86
389VBoxPython3_5m_x86_EXTENDS = VBoxPythonBase_x86_m
390VBoxPython3_5m_x86_EXTENDS_BY = appending
391VBoxPython3_5m_x86_TEMPLATE = XPCOM
392VBoxPython3_5m_x86_INCS = $(VBOX_PYTHON35M_INC)
393VBoxPython3_5m_x86_LIBS = $(VBOX_PYTHON35M_LIB_X86)
394 endif
395 endif
396endif
397
398ifdef VBOX_PYTHON36_INC
399#
400# Python 3.6 version
401#
402DLLS += VBoxPython3_6
403VBoxPython3_6_EXTENDS = VBoxPythonBase
404VBoxPython3_6_EXTENDS_BY = appending
405VBoxPython3_6_TEMPLATE = XPCOM
406VBoxPython3_6_INCS = $(VBOX_PYTHON36_INC)
407VBoxPython3_6_LIBS = $(VBOX_PYTHON36_LIB)
408
409 ifdef VBOX_WITH_32_ON_64_MAIN_API
410 ifdef VBOX_PYTHON36_LIB_X86
411DLLS += VBoxPython3_6_x86
412VBoxPython3_6_x86_EXTENDS = VBoxPythonBase_x86
413VBoxPython3_6_x86_EXTENDS_BY = appending
414VBoxPython3_6_x86_TEMPLATE = XPCOM
415VBoxPython3_6_x86_INCS = $(VBOX_PYTHON36_INC)
416VBoxPython3_6_x86_LIBS = $(VBOX_PYTHON36_LIB_X86)
417 endif
418 endif
419endif
420
421ifdef VBOX_PYTHON36M_INC
422#
423# Python 3.6 version with pymalloc
424#
425DLLS += VBoxPython3_6m
426VBoxPython3_6m_EXTENDS = VBoxPythonBase_m
427VBoxPython3_6m_EXTENDS_BY = appending
428VBoxPython3_6m_TEMPLATE = XPCOM
429VBoxPython3_6m_INCS = $(VBOX_PYTHON36M_INC)
430VBoxPython3_6m_LIBS = $(VBOX_PYTHON36M_LIB)
431
432 ifdef VBOX_WITH_32_ON_64_MAIN_API
433 ifdef VBOX_PYTHON36M_LIB_X86
434DLLS += VBoxPython3_6m_x86
435VBoxPython3_6m_x86_EXTENDS = VBoxPythonBase_x86_m
436VBoxPython3_6m_x86_EXTENDS_BY = appending
437VBoxPython3_6m_x86_TEMPLATE = XPCOM
438VBoxPython3_6m_x86_INCS = $(VBOX_PYTHON36M_INC)
439VBoxPython3_6m_x86_LIBS = $(VBOX_PYTHON36M_LIB_X86)
440 endif
441 endif
442endif
443
444ifdef VBOX_PYTHON37_INC
445#
446# Python 3.7 version
447#
448DLLS += VBoxPython3_7
449VBoxPython3_7_EXTENDS = VBoxPythonBase
450VBoxPython3_7_EXTENDS_BY = appending
451VBoxPython3_7_TEMPLATE = XPCOM
452VBoxPython3_7_INCS = $(VBOX_PYTHON37_INC)
453VBoxPython3_7_LIBS = $(VBOX_PYTHON37_LIB)
454
455 ifdef VBOX_WITH_32_ON_64_MAIN_API
456 ifdef VBOX_PYTHON37_LIB_X86
457DLLS += VBoxPython3_7_x86
458VBoxPython3_7_x86_EXTENDS = VBoxPythonBase_x86
459VBoxPython3_7_x86_EXTENDS_BY = appending
460VBoxPython3_7_x86_TEMPLATE = XPCOM
461VBoxPython3_7_x86_INCS = $(VBOX_PYTHON37_INC)
462VBoxPython3_7_x86_LIBS = $(VBOX_PYTHON37_LIB_X86)
463 endif
464 endif
465endif
466
467ifdef VBOX_PYTHON37M_INC
468#
469# Python 3.7 version with pymalloc
470#
471DLLS += VBoxPython3_7m
472VBoxPython3_7m_EXTENDS = VBoxPythonBase_m
473VBoxPython3_7m_EXTENDS_BY = appending
474VBoxPython3_7m_TEMPLATE = XPCOM
475VBoxPython3_7m_INCS = $(VBOX_PYTHON37M_INC)
476VBoxPython3_7m_LIBS = $(VBOX_PYTHON37M_LIB)
477
478 ifdef VBOX_WITH_32_ON_64_MAIN_API
479 ifdef VBOX_PYTHON37M_LIB_X86
480DLLS += VBoxPython3_7m_x86
481VBoxPython3_7m_x86_EXTENDS = VBoxPythonBase_x86_m
482VBoxPython3_7m_x86_EXTENDS_BY = appending
483VBoxPython3_7m_x86_TEMPLATE_ = XPCOM
484VBoxPython3_7m_x86_INCS = $(VBOX_PYTHON37M_INC)
485VBoxPython3_7m_x86_LIBS = $(VBOX_PYTHON37M_LIB_X86)
486 endif
487 endif
488endif
489
490ifdef VBOX_PYTHONDEF_INC
491#
492# Python without versioning
493#
494DLLS += VBoxPython
495VBoxPython_EXTENDS = VBoxPythonBase
496VBoxPython_DEFS = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_DEFS))
497VBoxPython_INCS = $(VBoxPythonBase_INCS) $(VBOX_PYTHONDEF_INC)
498if "$(KBUILD_TARGET)" == "linux"
499 VBoxPython_LIBS = $(VBoxPythonBase_LIBS)
500else
501 VBoxPython_LIBS = $(VBoxPythonBase_LIBS) $(VBOX_PYTHONDEF_LIB)
502endif
503
504 ifdef VBOX_WITH_32_ON_64_MAIN_API
505 ifdef VBOX_PYTHONDEF_LIB_X86
506VBoxPython_x86_EXTENDS = VBoxPythonBase_x86
507VBoxPython_x86_DEFS = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_x86_DEFS))
508VBoxPython_x86_INCS = $(VBoxPythonBase_x86_INCS) $(VBOX_PYTHONDEF_INC)
509if "$(KBUILD_TARGET)" == "linux"
510 VBoxPython_x86_LIBS = $(VBoxPythonBase_x86_LIBS)
511else
512 VBoxPython_x86_LIBS = $(VBoxPythonBase_x86_LIBS) $(VBOX_PYTHONDEF_LIB_X86)
513endif
514 endif
515 endif
516endif
517
518endif # VBOX_ONLY_SDK
519
520#
521# Install the python modules.
522#
523INSTALLS += VBoxPython-inst-py-xpcom
524VBoxPython-inst-py-xpcom_INST = $(INST_SDK)bindings/xpcom/python/xpcom/
525VBoxPython-inst-py-xpcom_MODE = a+r,u+w
526VBoxPython-inst-py-xpcom_SOURCES = \
527 vboxxpcom.py \
528 components.py \
529 file.py \
530 __init__.py \
531 nsError.py \
532 primitives.py \
533 xpcom_consts.py \
534 xpt.py \
535 client/__init__.py=>client/__init__.py \
536 server/__init__.py=>server/__init__.py \
537 server/enumerator.py=>server/enumerator.py \
538 server/factory.py=>server/factory.py \
539 server/loader.py=>server/loader.py \
540 server/module.py=>server/module.py \
541 server/policy.py=>server/policy.py
542
543
544include $(FILE_KBUILD_SUB_FOOTER)
545
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette