VirtualBox

Changeset 48164 in vbox for trunk/src


Ignore:
Timestamp:
Aug 29, 2013 4:35:14 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
88547
Message:

Main: phase out the use of the XPCOM glue (wasn't ever used), and rename tstVBoxAPILinux to tstVBoxAPIXPCOM to match the content
libs/xpcom: strip down the standalone XPCOM glue code and disable building it as so far no one uses it

Location:
trunk/src
Files:
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/glue/initterm.cpp

    r47800 r48164  
    2424
    2525# include <stdlib.h>
    26 
    27   /* XPCOM_GLUE is defined when the client uses the standalone glue
    28    * (i.e. dynamically picks up the existing XPCOM shared library installation).
    29    * This is not the case for VirtualBox XPCOM clients (they are always
    30    * distributed with the self-built XPCOM library, and therefore have a binary
    31    * dependency on it) but left here for clarity.
    32    */
    33 # if defined(XPCOM_GLUE)
    34 #  include <nsXPCOMGlue.h>
    35 # endif
    3626
    3727# include <nsIComponentRegistrar.h>
     
    355345    LogFlowFunc(("component registry  : \"%s\"\n", szCompReg));
    356346    LogFlowFunc(("XPTI data file      : \"%s\"\n", szXptiDat));
    357 
    358 #if defined (XPCOM_GLUE)
    359     XPCOMGlueStartup(nsnull);
    360 #endif
    361347
    362348    static const char *kAppPathsToProbe[] =
     
    584570                Assert(wasInited == true);
    585571                NOREF(wasInited);
    586 
    587 # if defined (XPCOM_GLUE)
    588                 XPCOMGlueShutdown();
    589 # endif
    590572            }
    591573        }
  • trunk/src/VBox/Main/src-server/xpcom/server.cpp

    r47525 r48164  
    55
    66/*
    7  * Copyright (C) 2004-2012 Oracle Corporation
     7 * Copyright (C) 2004-2013 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    2020
    2121#include <nsIComponentRegistrar.h>
    22 
    23 #ifdef XPCOM_GLUE
    24 # include <nsXPCOMGlue.h>
    25 #endif
    2622
    2723#include <nsEventQueueUtils.h>
  • trunk/src/VBox/Main/testcase/Makefile.kmk

    r47779 r48164  
    2828        tstAPI \
    2929        $(if $(VBOX_OSE),,tstOVF) \
    30         $(if $(VBOX_WITH_XPCOM),tstVBoxAPILinux,tstVBoxAPIWin) \
     30        $(if $(VBOX_WITH_XPCOM),tstVBoxAPIXPCOM,tstVBoxAPIWin) \
    3131        $(if $(VBOX_WITH_RESOURCE_USAGE_API),tstCollector,) \
    3232        $(if $(VBOX_WITH_GUEST_CONTROL),tstGuestCtrlParseBuffer,) \
     
    5555samplesXPCOM_MODE = a+r,u+w
    5656samplesXPCOM_INST = $(INST_SDK)bindings/xpcom/samples/
    57 samplesXPCOM_SOURCES = tstVBoxAPILinux.cpp makefile.tstVBoxAPILinux=>Makefile
     57samplesXPCOM_SOURCES = tstVBoxAPIXPCOM.cpp makefile.tstVBoxAPIXPCOM=>Makefile
    5858
    5959
     
    8989
    9090#
    91 # tstVBoxAPILinux
     91# tstVBoxAPIXPCOM
    9292#
    9393# We only build the testcase here to make sure it builds.
    9494# It comes with a custom makefile which should be tested as well!
    9595#
    96 tstVBoxAPILinux_TEMPLATE = VBOXMAINCLIENTTSTEXE
    97 tstVBoxAPILinux_SOURCES  = tstVBoxAPILinux.cpp
     96tstVBoxAPIXPCOM_TEMPLATE = VBOXMAINCLIENTTSTEXE
     97tstVBoxAPIXPCOM_SOURCES  = tstVBoxAPIXPCOM.cpp
    9898
    9999
  • trunk/src/VBox/Main/testcase/makefile.tstVBoxAPIXPCOM

    r48086 r48164  
    11#
    2 # tstVBoxAPILinux makefile
     2# tstVBoxAPIXPCOM makefile
    33#
    44#
    5 # Copyright (C) 2006-2010 Oracle Corporation
     5# Copyright (C) 2006-2013 Oracle Corporation
    66#
    77# This file is part of VirtualBox Open Source Edition (OSE), as
     
    3636# Link with the public XPCOM libraries
    3737#
    38 tstVBoxAPILinux: tstVBoxAPILinux.o
     38tstVBoxAPIXPCOM: tstVBoxAPIXPCOM.o
    3939        g++ -g -o $@ $^ \
    4040                $(PATH_BIN)/VBoxXPCOM.so \
     
    4242                -ldl -lpthread
    4343
    44 tstVBoxAPILinux.o: tstVBoxAPILinux.cpp
    45         g++ -c -DRT_OS_LINUX -g -fshort-wchar $(addprefix -I, $(INCS_XPCOM)) $(addprefix -D, $(DEFS_XPCOM)) -o $@ tstVBoxAPILinux.cpp
     44tstVBoxAPIXPCOM.o: tstVBoxAPIXPCOM.cpp
     45        g++ -c -g -fshort-wchar $(addprefix -I, $(INCS_XPCOM)) $(addprefix -D, $(DEFS_XPCOM)) -o $@ tstVBoxAPIXPCOM.cpp
    4646
    4747clean:
    48         rm -f tstVBoxAPILinux tstVBoxAPILinux.o
     48        rm -f tstVBoxAPIXPCOM tstVBoxAPIXPCOM.o
  • trunk/src/VBox/Main/testcase/tstVBoxAPIXPCOM.cpp

    r48086 r48164  
    6767 * Include the XPCOM headers
    6868 */
    69 
    70 #if defined(XPCOM_GLUE)
    71 #include <nsXPCOMGlue.h>
    72 #endif
    73 
    7469#include <nsMemory.h>
    7570#include <nsString.h>
     
    472467     * What we do is just follow the required steps to get an instance
    473468     * of our main interface, which is IVirtualBox.
    474      */
    475 #if defined(XPCOM_GLUE)
    476     XPCOMGlueStartup(nsnull);
    477 #endif
    478 
    479     /*
     469     *
    480470     * Note that we scope all nsCOMPtr variables in order to have all XPCOM
    481471     * objects automatically released before we call NS_ShutdownXPCOM at the
     
    578568     */
    579569    NS_ShutdownXPCOM(nsnull);
    580 #if defined(XPCOM_GLUE)
    581     XPCOMGlueShutdown();
    582 #endif
    583570    RTPrintf("Done!\n");
    584571    return 0;
  • trunk/src/libs/xpcom18a4/Makefile.kmk

    r47900 r48164  
    8888        VBox-xpcom-proxy \
    8989        VBoxXPCOMGlue_s \
    90         VBoxXPCOMGlue \
     90        $(if $(VBOX_WITH_XPCOM_GLUE_WHICH_IS_UNUSED),VBoxXPCOMGlue,) \
    9191        VBox-xpcom-ipcutils \
    9292        VBox-xpcom-ipcshared \
     
    888888# The VBoxXPCOM Glue static libraries.
    889889#
    890 # See http://developer.mozilla.org/en/docs/XPCOM_Glue for details about the
    891 # original XPCOM glue library purpose and usage.
    892 #
    893 # We don't really use the glue library in the described way because we don't
    894 # provide frozen APIs (yet), so all VBox XPCOM client applications are
    895 # dependent on the given version of both the VBox XPCOM runtime (binary
    896 # dependency) and VirtualBox component library (COM interface dependency). For
    897 # this reason, VBox client applications link to the VBox XPCOM shared library
    898 # directly (instead of linking to the standalone XPCOM glue library that would
    899 # dynamically search for and load the installed XPCOM runtime). For the same
    900 # reason, we link all parts of XPCOM into a single shared XPCOM library below
    901 # (as opposed to the original XPCOM where e.g. NSPR lives in a separate DLL).
     890# This isn't the normal XPCOM glue (see the places in XPCOM where XPCOM_GLUE is
     891# checked), VirtualBox has its own glue library and this means this isn't used
     892# much (one reason is that we don't provide frozen APIs yet). All VBox XPCOM
     893# client applications are dependent on the given version of both the VBox XPCOM
     894# runtime (binary dependency) and VirtualBox component library (COM interface
     895# dependency). For this reason, VBox client applications link to the VBox XPCOM
     896# shared library directly (instead of linking to the standalone XPCOM glue
     897# library that would dynamically search for and load the installed XPCOM
     898# runtime). For the same reason, we link all parts of XPCOM into a single
     899# shared XPCOM library below (as opposed to the original XPCOM where e.g. NSPR
     900# lives in a separate DLL). Additionally there is VBox specific glue code to
     901# make both the client and server side code build with both XPCOM and COM,
     902# which should be made part of the SDK eventually, but this is a higher level
     903# of abstraction than this XPCOM specific glue code.
    902904#
    903905VBoxXPCOMGlue_COMMON_SOURCES = \
     
    917919VBoxXPCOMGlue_s_SOURCES  = $(VBoxXPCOMGlue_COMMON_SOURCES)
    918920
    919 # standalone glue library which all third-party client apps (if any) will link with
    920 # (currently not used anywhere (see above) but still built to make sure
    921 # the code inside #ifdef XPCOM_GLUE compiles)
     921# standalone glue library which all third-party client apps (if any) will
     922# link with (currently completely unused and nit built, to be part of the SDK)
    922923VBoxXPCOMGlue_TEMPLATE = XPCOM
    923 VBoxXPCOMGlue_DEFS     = XPCOM_GLUE
    924 if defined(VBOX_WITH_HARDENING) && defined(VBOX_PATH_APP_PRIVATE_ARCH)
    925  VBoxXPCOMGlue_DEFS    += MOZ_DEFAULT_VBOX_XPCOM_HOME=\"$(VBOX_PATH_APP_PRIVATE_ARCH)\"
    926 endif
    927 VBoxXPCOMGlue_SOURCES  = $(VBoxXPCOMGlue_COMMON_SOURCES) \
    928                          xpcom/glue/standalone/nsXPCOMGlue.cpp \
    929                          xpcom/glue/standalone/nsGREDirServiceProvider.cpp
    930 VBoxXPCOMGlue_SOURCES += \
    931         $(VBox-xpcom-string_1_TARGET)
     924VBoxXPCOMGlue_SOURCES  = $(VBoxXPCOMGlue_COMMON_SOURCES)
    932925#VBoxXPCOMGlue_INST     = lib/ $(INST_SDK)lib/
    933926
Note: See TracChangeset for help on using the changeset viewer.

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