Index: trunk/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/ErrorUtils.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/ErrorUtils.cpp	(revision 103176)
@@ -83,5 +83,5 @@
 
 // Our "normal" error logger - calls back to the logging module.
-void DoLogMessage(const char *methodName, const char *pszMessageText)
+static void DoLogMessage(const char *methodName, const char *pszMessageText)
 {
 	// We use the logging module now.  Originally this code called
@@ -131,5 +131,5 @@
 }
 
-void LogMessage(const char *methodName, const char *pszMessageText)
+static void LogMessage(const char *methodName, const char *pszMessageText)
 {
 	// Be careful to save and restore the Python exception state
@@ -142,5 +142,5 @@
 
 
-void LogMessage(const char *methodName, nsACString &text)
+static void LogMessage(const char *methodName, nsACString &text)
 {
 	char *c = ToNewCString(text);
Index: trunk/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/PyGBase.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/PyGBase.cpp	(revision 103176)
@@ -60,8 +60,4 @@
 }
 
-extern PyG_Base *MakePyG_nsIModule(PyObject *);
-extern PyG_Base *MakePyG_nsIComponentLoader(PyObject *instance);
-extern PyG_Base *MakePyG_nsIInputStream(PyObject *instance);
-
 static char *PyXPCOM_szDefaultGatewayAttributeName = (char*)"_com_instance_default_gateway_";
 PyG_Base *GetDefaultGateway(PyObject *instance);
Index: trunk/src/libs/xpcom18a4/python/src/PyGInputStream.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/PyGInputStream.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/PyGInputStream.cpp	(revision 103176)
@@ -64,5 +64,5 @@
 
 
-PyG_Base *MakePyG_nsIInputStream(PyObject *instance)
+DECLHIDDEN (PyG_Base *) MakePyG_nsIInputStream(PyObject *instance)
 {
 	return new PyG_nsIInputStream(instance);
Index: trunk/src/libs/xpcom18a4/python/src/PyGModule.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/PyGModule.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/PyGModule.cpp	(revision 103176)
@@ -65,5 +65,5 @@
 };
 
-PyG_Base *MakePyG_nsIModule(PyObject *instance)
+DECLHIDDEN(PyG_Base *) MakePyG_nsIModule(PyObject *instance)
 {
 	return new PyG_nsIModule(instance);
@@ -169,5 +169,5 @@
 };
 
-PyG_Base *MakePyG_nsIComponentLoader(PyObject *instance)
+DECLHIDDEN(PyG_Base *) MakePyG_nsIComponentLoader(PyObject *instance)
 {
 	return new PyG_nsIComponentLoader(instance);
Index: trunk/src/libs/xpcom18a4/python/src/PyIVariant.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/PyIVariant.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/PyIVariant.cpp	(revision 103176)
@@ -161,6 +161,4 @@
 	return Py_nsISupports::PyObjectFromInterface(p, *iid);
 }
-
-extern PyObject *PyObject_FromVariantArray( Py_nsISupports*, nsIVariant *v);
 
 static PyObject *GetAsArray(PyObject *self, PyObject *args) {
Index: trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h	(revision 103176)
@@ -980,3 +980,16 @@
 // deprecated, but retained for backward compatibility:
 PyXPCOM_INTERFACE_DECLARE(Py_nsIComponentManagerObsolete, nsIComponentManagerObsolete, PyMethods_IComponentManagerObsolete)
+
+
+/* VariantUtils.cpp. */
+DECLHIDDEN(PyObject *) PyObject_FromVariantArray( Py_nsISupports *parent, nsIVariant *v);
+
+/* PyGModule.cpp */
+DECLHIDDEN(PyG_Base *) MakePyG_nsIComponentLoader(PyObject *instance);
+DECLHIDDEN(PyG_Base *) MakePyG_nsIModule(PyObject *instance);
+
+/* PyGInputStream.cpp */
+DECLHIDDEN(PyG_Base *) MakePyG_nsIInputStream(PyObject *instance);
+
+
 #endif // __PYXPCOM_H__
Index: trunk/src/libs/xpcom18a4/python/src/VariantUtils.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/VariantUtils.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/VariantUtils.cpp	(revision 103176)
@@ -59,5 +59,5 @@
 // ------------------------------------------------------------------------
 // one day we may know what they look like.
-inline
+static inline
 PRBool
 IsNullDOMString( const nsAString& aString )
@@ -66,5 +66,5 @@
 }
 
-inline
+static inline
 PRBool
 IsNullDOMString( const nsACString& aString )
@@ -322,5 +322,5 @@
 
 
-void FreeSingleArray(void *array_ptr, PRUint32 sequence_size, PRUint8 array_type)
+static void FreeSingleArray(void *array_ptr, PRUint32 sequence_size, PRUint8 array_type)
 {
 	// Free each array element - NOT the array itself
@@ -372,6 +372,6 @@
 
 
-PRBool FillSingleArray(void *array_ptr, PyObject *sequence_ob, PRUint32 sequence_size,
-                       PRUint32 array_element_size, PRUint8 array_type, nsIID *pIID)
+static PRBool FillSingleArray(void *array_ptr, PyObject *sequence_ob, PRUint32 sequence_size,
+                              PRUint32 array_element_size, PRUint8 array_type, nsIID *pIID)
 {
 	PRUint8 *pthis = (PRUint8 *)array_ptr;
@@ -925,5 +925,5 @@
 }
 
-PyObject *PyObject_FromVariantArray( Py_nsISupports *parent, nsIVariant *v)
+DECLHIDDEN(PyObject *) PyObject_FromVariantArray( Py_nsISupports *parent, nsIVariant *v)
 {
 	nsresult nr;
Index: trunk/src/libs/xpcom18a4/python/src/dllmain.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/dllmain.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/dllmain.cpp	(revision 103176)
@@ -129,5 +129,5 @@
 }
 
-void pyxpcom_construct(void)
+static void pyxpcom_construct(void)
 {
     int vrc = RTSemFastMutexCreate(&g_lockMain);
@@ -138,5 +138,5 @@
 }
 
-void pyxpcom_destruct(void)
+static void pyxpcom_destruct(void)
 {
     RTSemFastMutexDestroy(g_lockMain);
Index: trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
===================================================================
--- trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp	(revision 103126)
+++ trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp	(revision 103176)
@@ -521,5 +521,5 @@
 }
 
-PyObject *PyGetSpecialDirectory(PyObject *self, PyObject *args)
+static PyObject *PyGetSpecialDirectory(PyObject *self, PyObject *args)
 {
 	char *dirname;
@@ -534,5 +534,5 @@
 }
 
-PyObject *AllocateBuffer(PyObject *self, PyObject *args)
+static PyObject *AllocateBuffer(PyObject *self, PyObject *args)
 {
 	int bufSize;
