# vim:set ts=8 sw=8 sts=8 noet: # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is IBM Corporation. # Portions created by IBM Corporation are Copyright (C) 2004 # IBM Corporation. All Rights Reserved. # # Contributor(s): # Darin Fisher # # Alternatively, the contents of this file may be used under the terms of # either of the GNU General Public License Version 2 or later (the "GPL"), # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** DEPTH = ../.. topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk MODULE = xpcom LIBRARY_NAME = xpcom # The XPCOM glue uses realpath() on libxpcom.so to resolve any symlinks. We # want it to find dist/bin and not xpcom/stub so we copy instead of symlinking. NSDISTMODE = copy # Do not set EXPORT_LIBRARY as we do not want xpcom in the static libs list #EXPORT_LIBRARY = 1 GRE_MODULE = 1 MOZILLA_INTERNAL_API = 1 REQUIRES = string \ $(NULL) LOCAL_INCLUDES = -I$(srcdir)/../build CPPSRCS = nsXPComStub.cpp ifndef MOZ_ENABLE_LIBXUL ifeq ($(OS_TARGET),OS2) CPPSRCS += nsOS2VACLegacy.cpp endif endif # If we have an import library, then copy that to the SDK. Otherwise, # copy the shared library. ifneq (,$(filter OS2 WINCE WINNT,$(OS_ARCH))) SDK_LIBRARY = $(IMPORT_LIBRARY) else SDK_LIBRARY = $(SHARED_LIBRARY) endif # Force use of PIC FORCE_USE_PIC = 1 FORCE_SHARED_LIB = 1 EXTRA_DSO_LDOPTS = $(LIBS_DIR) $(MOZ_FIX_LINK_PATHS) DEPENDENT_LIBS_LIST += \ $(LIB_PREFIX)nspr4$(DLL_SUFFIX) \ $(LIB_PREFIX)plc4$(DLL_SUFFIX) \ $(LIB_PREFIX)plds4$(DLL_SUFFIX) \ $(NULL) ifdef MOZ_ENABLE_LIBXUL DEPENDENT_LIBS_LIST += \ $(LIB_PREFIX)sqlite3$(DLL_SUFFIX) \ $(LIB_PREFIX)softokn3$(DLL_SUFFIX) \ $(LIB_PREFIX)nss3$(DLL_SUFFIX) \ $(LIB_PREFIX)ssl3$(DLL_SUFFIX) \ $(LIB_PREFIX)smime3$(DLL_SUFFIX) \ $(NULL) ifeq (,$(filter-out WINNT WINCE,$(OS_ARCH))) DEPENDENT_LIBS_LIST += js$(MOZ_BITS)$(VERSION_NUMBER)$(DLL_SUFFIX) else DEPENDENT_LIBS_LIST += $(LIB_PREFIX)mozjs$(DLL_SUFFIX) endif ifeq (Darwin,$(OS_ARCH)) EXTRA_DSO_LDOPTS += $(DIST)/bin/XUL DEPENDENT_LIBS_LIST += XUL else EXTRA_DSO_LIBS = xul DEPENDENT_LIBS_LIST += $(LIB_PREFIX)xul$(DLL_SUFFIX) endif else #!MOZ_ENABLE_LIBXUL ifeq ($(OS_TARGET),OS2) EXTRA_DSO_LIBS = xpcomcor DEPENDENT_LIBS_LIST += xpcomcor.dll else EXTRA_DSO_LIBS = xpcom_core DEPENDENT_LIBS_LIST += $(LIB_PREFIX)xpcom_core$(DLL_SUFFIX) endif endif EXTRA_DSO_LDOPTS += $(EXTRA_DSO_LIBS) $(NSPR_LIBS) include $(topsrcdir)/config/rules.mk libs:: $(FINAL_TARGET)/dependentlibs.list $(FINAL_TARGET)/dependentlibs.list: Makefile.in $(EXIT_ON_ERROR) \ ( $(foreach dlib,$(DEPENDENT_LIBS_LIST),echo $(dlib);) ) > $@