VirtualBox

Changeset 11440 in vbox for trunk/src/libs


Ignore:
Timestamp:
Aug 15, 2008 11:06:35 AM (16 years ago)
Author:
vboxsync
Message:
  • imported Python COM bindings
Location:
trunk/src/libs/xpcom18a4
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/xpcom18a4/Makefile.kmk

    r11394 r11440  
    2727endif
    2828include $(KBUILD_PATH)/subheader.kmk
     29
     30ifdef VBOX_WITH_PYTHON
     31# bridge for XPCOM to invoke Python
     32XPCOM_PYTHON = VBox-xpcom-python
     33# bridge for Python to invoke XPCOM
     34XPCOM_PYMOD  = VBox-xpcom-pymod
     35PYTHON_LIBS  = python2.5
     36endif
    2937
    3038#
     
    248256        VBox-xpcom-ipcdlock \
    249257        VBox-xpcom-ipctransmgr \
    250         VBox-xcpom-ipctmgrcom
     258        VBox-xpcom-ipctmgrcom  \
     259        $(XPCOM_PYTHON) \
     260        $(PYTHON_LIBS)
    251261
    252262DLLS += \
    253263        VBoxXPCOM \
    254         VBoxXPCOMIPCC
     264        VBoxXPCOMIPCC \
     265        $(XPCOM_PYMOD)
    255266
    256267ifdef VBOX_WITH_TESTCASES
     
    11091120        $(TARGET_VBox-xpcom-proxy) \
    11101121        $(TARGET_VBox-xpcom-nspr) \
    1111         $(TARGET_VBoxXPCOMGlue_s)
     1122        $(TARGET_$(XPCOM_PYTHON)) \
     1123        $(PYTHON_LIBS)            \
     1124        $(TARGET_VBoxXPCOMGlue_s)
    11121125
    11131126ifeq ($(filter-out freebsd l4 linux netbsd openbsd,$(KBUILD_TARGET)),) # gnu ld.
     
    11241137        $(TARGET_VBox-xpcom-proxy) \
    11251138        $(TARGET_VBox-xpcom-nspr) \
     1139        $(TARGET_$(XPCOM_PYTHON))\
    11261140        $(TARGET_VBoxXPCOMGlue_s) \
    11271141        -Wl,--no-whole-archive
     
    11391153        $(TARGET_VBox-xpcom-xptcall) \
    11401154        $(TARGET_VBox-xpcom-proxy) \
     1155        $(TARGET_$(XPCOM_PYTHON))\
    11411156        $(TARGET_VBox-xpcom-nspr) \
    11421157        $(TARGET_VBoxXPCOMGlue_s) \
     
    12081223        ipc/ipcd/extensions/transmngr/src/tmTransactionService.cpp
    12091224
    1210 VBox-xcpom-ipctmgrcom_TEMPLATE = XPCOMIPC
    1211 VBox-xcpom-ipctmgrcom_NOINST = 1
    1212 VBox-xcpom-ipctmgrcom_SOURCES = \
     1225VBox-xpcom-ipctmgrcom_TEMPLATE = XPCOMIPC
     1226VBox-xpcom-ipctmgrcom_NOINST = 1
     1227VBox-xpcom-ipctmgrcom_SOURCES = \
    12131228        ipc/ipcd/extensions/transmngr/common/tmTransaction.cpp \
    12141229        ipc/ipcd/extensions/transmngr/common/tmVector.cpp
     
    12401255        $(TARGET_VBox-xpcom-ipcdlock) \
    12411256        $(TARGET_VBox-xpcom-ipctransmgr) \
    1242         $(TARGET_VBox-xcpom-ipctmgrcom)
     1257        $(TARGET_VBox-xpcom-ipctmgrcom)
    12431258# EF
    12441259#VBoxXPCOMIPCC_LIBS += $(LIB_RUNTIME)
     1260
     1261
     1262# Python XPCOM bindings
     1263VBox-xpcom-python_TEMPLATE = XPCOM
     1264VBox-xpcom-python_NOINST = 1
     1265VBox-xpcom-python_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTI_API EXPORT_XPT_API
     1266VBox-xpcom-python_INCS += /usr/include/python2.5
     1267VBox-xpcom-python_SOURCES =                             \
     1268        python/src/dllmain.cpp                          \
     1269        python/src/ErrorUtils.cpp                       \
     1270        python/src/PyGBase.cpp                          \
     1271        python/src/PyGInputStream.cpp                   \
     1272        python/src/PyGModule.cpp                        \
     1273        python/src/PyGStub.cpp                          \
     1274        python/src/PyGWeakReference.cpp                 \
     1275        python/src/PyIClassInfo.cpp                     \
     1276        python/src/PyIComponentManager.cpp              \
     1277        python/src/PyIComponentManagerObsolete.cpp      \
     1278        python/src/PyIEnumerator.cpp                    \
     1279        python/src/PyIID.cpp                            \
     1280        python/src/PyIInputStream.cpp                   \
     1281        python/src/PyIInterfaceInfo.cpp                 \
     1282        python/src/PyIInterfaceInfoManager.cpp          \
     1283        python/src/PyISimpleEnumerator.cpp              \
     1284        python/src/PyISupports.cpp                      \
     1285        python/src/PyIVariant.cpp                       \
     1286        python/src/Pyxpt_info.cpp                       \
     1287        python/src/TypeObject.cpp                       \
     1288        python/src/VariantUtils.cpp                     \
     1289
     1290
     1291# Python Clienr Module
     1292VBox-xpcom-pymod_TEMPLATE = XPCOM
     1293VBox-xpcom-pymod_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTI_API EXPORT_XPT_API
     1294VBox-xpcom-pymod_INCS += /usr/include/python2.5 python/src
     1295VBox-xpcom-pymod_SOURCES =                              \
     1296        python/src/module/_xpcom.cpp                   
    12451297
    12461298# DCONNECT daemon executable
     
    15641616# Manual dependency...
    15651617xpcom/string/src/nsAString.cpp: $(PATH_VBox-xpcom-string)/idl_ts
    1566 
  • trunk/src/libs/xpcom18a4/xpcom/base/nscore.h

    r3149 r11440  
    156156#define NS_DEFCALL
    157157#endif
     158
     159/* XXX: nike, maybe fix */
     160#define NS_EXPORT_STATIC_MEMBER_(type) type
     161#define NS_IMPORT_STATIC_MEMBER_(type) type
    158162
    159163#ifdef NS_WIN32
Note: See TracChangeset for help on using the changeset viewer.

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