michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "mozilla/Module.h" michael@0: #include "nsXPCOM.h" michael@0: #include "nsMemory.h" michael@0: michael@0: #ifdef MOZ_AUTH_EXTENSION michael@0: #define AUTH_MODULE MODULE(nsAuthModule) michael@0: #else michael@0: #define AUTH_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_PERMISSIONS michael@0: #define PERMISSIONS_MODULES \ michael@0: MODULE(nsCookieModule) \ michael@0: MODULE(nsPermissionsModule) michael@0: #else michael@0: #define PERMISSIONS_MODULES michael@0: #endif michael@0: michael@0: #ifdef MOZ_UNIVERSALCHARDET michael@0: #define UNIVERSALCHARDET_MODULE MODULE(nsUniversalCharDetModule) michael@0: #else michael@0: #define UNIVERSALCHARDET_MODULE michael@0: #endif michael@0: michael@0: #ifdef XP_WIN michael@0: # define WIDGET_MODULES MODULE(nsWidgetModule) michael@0: #elif defined(XP_MACOSX) michael@0: # define WIDGET_MODULES MODULE(nsWidgetMacModule) michael@0: #elif defined(MOZ_WIDGET_GTK) michael@0: # define WIDGET_MODULES MODULE(nsWidgetGtk2Module) michael@0: #elif defined(MOZ_WIDGET_QT) michael@0: # define WIDGET_MODULES MODULE(nsWidgetQtModule) michael@0: #elif defined(MOZ_WIDGET_ANDROID) michael@0: # define WIDGET_MODULES MODULE(nsWidgetAndroidModule) michael@0: #elif defined(MOZ_WIDGET_GONK) michael@0: # define WIDGET_MODULES MODULE(nsWidgetGonkModule) michael@0: #else michael@0: # error Unknown widget module. michael@0: #endif michael@0: michael@0: #ifndef MOZ_B2G michael@0: #define CONTENT_PROCESS_WIDGET_MODULES MODULE(nsContentProcessWidgetModule) michael@0: #else michael@0: #define CONTENT_PROCESS_WIDGET_MODULES michael@0: #endif michael@0: michael@0: #ifdef ICON_DECODER michael@0: #define ICON_MODULE MODULE(nsIconDecoderModule) michael@0: #else michael@0: #define ICON_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_ENABLE_XREMOTE michael@0: #define XREMOTE_MODULES MODULE(RemoteServiceModule) michael@0: #else michael@0: #define XREMOTE_MODULES michael@0: #endif michael@0: michael@0: #ifdef MOZ_PREF_EXTENSIONS michael@0: #define SYSTEMPREF_MODULES MODULE(nsAutoConfigModule) michael@0: #else michael@0: #define SYSTEMPREF_MODULES michael@0: #endif michael@0: michael@0: #ifdef ENABLE_LAYOUTDEBUG michael@0: #define LAYOUT_DEBUG_MODULE MODULE(nsLayoutDebugModule) michael@0: #else michael@0: #define LAYOUT_DEBUG_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_JSDEBUGGER michael@0: #define JSDEBUGGER_MODULES \ michael@0: MODULE(JavaScript_Debugger) michael@0: #else michael@0: #define JSDEBUGGER_MODULES michael@0: #endif michael@0: michael@0: #if defined(MOZ_FILEVIEW) && defined(MOZ_XUL) michael@0: #define FILEVIEW_MODULE MODULE(nsFileViewModule) michael@0: #else michael@0: #define FILEVIEW_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_ZIPWRITER michael@0: #define ZIPWRITER_MODULE MODULE(ZipWriterModule) michael@0: #else michael@0: #define ZIPWRITER_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_PLACES michael@0: #define PLACES_MODULES \ michael@0: MODULE(nsPlacesModule) michael@0: #else michael@0: #define PLACES_MODULES michael@0: #endif michael@0: michael@0: #ifdef MOZ_XUL michael@0: #define XULENABLED_MODULES \ michael@0: MODULE(tkAutoCompleteModule) \ michael@0: MODULE(satchel) \ michael@0: MODULE(PKI) michael@0: #else michael@0: #define XULENABLED_MODULES michael@0: #endif michael@0: michael@0: #ifdef MOZ_SPELLCHECK michael@0: #define SPELLCHECK_MODULE MODULE(mozSpellCheckerModule) michael@0: #else michael@0: #define SPELLCHECK_MODULE michael@0: #endif michael@0: michael@0: #ifdef MOZ_XUL michael@0: #ifdef MOZ_WIDGET_GTK michael@0: #define UNIXPROXY_MODULE MODULE(nsUnixProxyModule) michael@0: #endif michael@0: #if defined(MOZ_WIDGET_QT) michael@0: #define UNIXPROXY_MODULE MODULE(nsUnixProxyModule) michael@0: #endif michael@0: #endif michael@0: #ifndef UNIXPROXY_MODULE michael@0: #define UNIXPROXY_MODULE michael@0: #endif michael@0: michael@0: #if defined(XP_MACOSX) michael@0: #define OSXPROXY_MODULE MODULE(nsOSXProxyModule) michael@0: #else michael@0: #define OSXPROXY_MODULE michael@0: #endif michael@0: michael@0: #if defined(XP_WIN) michael@0: #define WINDOWSPROXY_MODULE MODULE(nsWindowsProxyModule) michael@0: #else michael@0: #define WINDOWSPROXY_MODULE michael@0: #endif michael@0: michael@0: #if defined(MOZ_WIDGET_ANDROID) michael@0: #define ANDROIDPROXY_MODULE MODULE(nsAndroidProxyModule) michael@0: #else michael@0: #define ANDROIDPROXY_MODULE michael@0: #endif michael@0: michael@0: #if defined(BUILD_CTYPES) michael@0: #define JSCTYPES_MODULE MODULE(jsctypes) michael@0: #else michael@0: #define JSCTYPES_MODULE michael@0: #endif michael@0: michael@0: #ifndef MOZ_APP_COMPONENT_MODULES michael@0: #if defined(MOZ_APP_COMPONENT_INCLUDE) michael@0: #include MOZ_APP_COMPONENT_INCLUDE michael@0: #define MOZ_APP_COMPONENT_MODULES APP_COMPONENT_MODULES michael@0: #else michael@0: #define MOZ_APP_COMPONENT_MODULES michael@0: #endif michael@0: #endif michael@0: michael@0: #if defined(MOZ_ENABLE_PROFILER_SPS) michael@0: #define PROFILER_MODULE MODULE(nsProfilerModule) michael@0: #else michael@0: #define PROFILER_MODULE michael@0: #endif michael@0: michael@0: #if defined(MOZ_WEBRTC) michael@0: #define PEERCONNECTION_MODULE MODULE(peerconnection) michael@0: #else michael@0: #define PEERCONNECTION_MODULE michael@0: #endif michael@0: michael@0: #if defined(MOZ_GIO_COMPONENT) michael@0: #define GIO_MODULE MODULE(nsGIOModule) michael@0: #else michael@0: #define GIO_MODULE michael@0: #endif michael@0: michael@0: #if defined(MOZ_SYNTH_PICO) michael@0: #define SYNTH_PICO_MODULE MODULE(synthpico) michael@0: #else michael@0: #define SYNTH_PICO_MODULE michael@0: #endif michael@0: michael@0: #define XUL_MODULES \ michael@0: MODULE(nsUConvModule) \ michael@0: MODULE(nsI18nModule) \ michael@0: MODULE(nsChardetModule) \ michael@0: UNIVERSALCHARDET_MODULE \ michael@0: MODULE(necko) \ michael@0: PERMISSIONS_MODULES \ michael@0: AUTH_MODULE \ michael@0: MODULE(nsJarModule) \ michael@0: ZIPWRITER_MODULE \ michael@0: MODULE(StartupCacheModule) \ michael@0: MODULE(nsPrefModule) \ michael@0: MODULE(nsRDFModule) \ michael@0: MODULE(nsWindowDataSourceModule) \ michael@0: MODULE(nsParserModule) \ michael@0: MODULE(nsImageLib2Module) \ michael@0: MODULE(nsMediaSnifferModule) \ michael@0: MODULE(nsGfxModule) \ michael@0: PROFILER_MODULE \ michael@0: WIDGET_MODULES \ michael@0: CONTENT_PROCESS_WIDGET_MODULES \ michael@0: ICON_MODULE \ michael@0: MODULE(nsPluginModule) \ michael@0: MODULE(nsLayoutModule) \ michael@0: MODULE(docshell_provider) \ michael@0: MODULE(embedcomponents) \ michael@0: MODULE(Browser_Embedding_Module) \ michael@0: MODULE(appshell) \ michael@0: MODULE(nsTransactionManagerModule) \ michael@0: MODULE(nsComposerModule) \ michael@0: MODULE(application) \ michael@0: MODULE(Apprunner) \ michael@0: MODULE(CommandLineModule) \ michael@0: FILEVIEW_MODULE \ michael@0: MODULE(mozStorageModule) \ michael@0: PLACES_MODULES \ michael@0: XULENABLED_MODULES \ michael@0: MODULE(nsToolkitCompsModule) \ michael@0: XREMOTE_MODULES \ michael@0: JSDEBUGGER_MODULES \ michael@0: MODULE(BOOT) \ michael@0: MODULE(NSS) \ michael@0: SYSTEMPREF_MODULES \ michael@0: SPELLCHECK_MODULE \ michael@0: LAYOUT_DEBUG_MODULE \ michael@0: UNIXPROXY_MODULE \ michael@0: OSXPROXY_MODULE \ michael@0: WINDOWSPROXY_MODULE \ michael@0: ANDROIDPROXY_MODULE \ michael@0: JSCTYPES_MODULE \ michael@0: MODULE(jsreflect) \ michael@0: MODULE(jsperf) \ michael@0: MODULE(identity) \ michael@0: MODULE(nsServicesCryptoModule) \ michael@0: MOZ_APP_COMPONENT_MODULES \ michael@0: MODULE(nsTelemetryModule) \ michael@0: MODULE(jsinspector) \ michael@0: MODULE(jsdebugger) \ michael@0: PEERCONNECTION_MODULE \ michael@0: GIO_MODULE \ michael@0: SYNTH_PICO_MODULE \ michael@0: MODULE(DiskSpaceWatcherModule) \ michael@0: /* end of list */ michael@0: michael@0: #define MODULE(_name) \ michael@0: NSMODULE_DECL(_name); michael@0: michael@0: XUL_MODULES michael@0: michael@0: #ifdef MOZ_WIDGET_GONK michael@0: MODULE(WifiProxyServiceModule) michael@0: MODULE(NetworkWorkerModule) michael@0: #endif michael@0: michael@0: #undef MODULE michael@0: michael@0: #define MODULE(_name) \ michael@0: &NSMODULE_NAME(_name), michael@0: michael@0: extern const mozilla::Module *const *const kPStaticModules[] = { michael@0: XUL_MODULES michael@0: #ifdef MOZ_WIDGET_GONK michael@0: MODULE(WifiProxyServiceModule) michael@0: MODULE(NetworkWorkerModule) michael@0: #endif michael@0: nullptr michael@0: }; michael@0: michael@0: #undef MODULE