168 lines
4.2 KiB
Makefile
168 lines
4.2 KiB
Makefile
#
|
|
# ***** 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 Communicator client code, released
|
|
# March 31, 1998.
|
|
#
|
|
# The Initial Developer of the Original Code is
|
|
# Netscape Communications Corporation.
|
|
# Portions created by the Initial Developer are Copyright (C) 1998
|
|
# the Initial Developer. All Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
# John Bandhauer <jband@netscape.com>
|
|
#
|
|
# 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 = xpconnect
|
|
LIBRARY_NAME = xpconnect
|
|
EXPORT_LIBRARY = 1
|
|
SHORT_LIBNAME = xpconect
|
|
IS_COMPONENT = 1
|
|
MODULE_NAME = xpconnect
|
|
GRE_MODULE = 1
|
|
ifeq ($(OS_ARCH)$(MOZ_ENABLE_LIBXUL),WINNT)
|
|
LIBRARY_NAME = xpc$(MOZ_BITS)$(VERSION_NUMBER)
|
|
SHORT_LIBNAME = xpc$(MOZ_BITS)$(VERSION_NUMBER)
|
|
endif
|
|
LIBXUL_LIBRARY = 1
|
|
|
|
PACKAGE_FILE = xpconnect.pkg
|
|
|
|
REQUIRES = xpcom \
|
|
string \
|
|
js \
|
|
caps \
|
|
necko \
|
|
dom \
|
|
widget \
|
|
$(NULL)
|
|
|
|
CPPSRCS = \
|
|
nsScriptError.cpp \
|
|
nsXPConnect.cpp \
|
|
xpccallcontext.cpp \
|
|
xpccomponents.cpp \
|
|
xpccontext.cpp \
|
|
xpcconvert.cpp \
|
|
xpcdebug.cpp \
|
|
xpcexception.cpp \
|
|
xpcjsid.cpp \
|
|
xpcjsruntime.cpp \
|
|
xpclog.cpp \
|
|
xpcmaps.cpp \
|
|
xpcmodule.cpp \
|
|
xpcruntimesvc.cpp \
|
|
xpcstack.cpp \
|
|
xpcstring.cpp \
|
|
xpcthreadcontext.cpp \
|
|
xpcthrower.cpp \
|
|
xpcwrappedjs.cpp \
|
|
xpcvariant.cpp \
|
|
xpcwrappedjsclass.cpp \
|
|
xpcwrappednative.cpp \
|
|
xpcwrappednativeinfo.cpp \
|
|
xpcwrappednativejsops.cpp \
|
|
xpcwrappednativeproto.cpp \
|
|
xpcwrappednativescope.cpp \
|
|
XPCNativeWrapper.cpp \
|
|
$(NULL)
|
|
ifdef XPC_IDISPATCH_SUPPORT
|
|
CPPSRCS += XPCDispObject.cpp \
|
|
XPCDispInterface.cpp \
|
|
XPCDispConvert.cpp \
|
|
XPCDispTypeInfo.cpp \
|
|
XPCDispTearOff.cpp \
|
|
XPCIDispatchExtension.cpp \
|
|
XPCDispParams.cpp \
|
|
XPCDispParamPropJSClass.cpp \
|
|
XPCIDispatchClassInfo.cpp \
|
|
nsDispatchSupport.cpp \
|
|
$(NULL)
|
|
endif
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
LOCAL_INCLUDES = \
|
|
-I$(srcdir)/../loader \
|
|
$(NULL)
|
|
|
|
EXTRA_DSO_LDOPTS += \
|
|
$(MOZ_COMPONENT_LIBS) \
|
|
$(MOZ_JS_LIBS) \
|
|
$(NULL)
|
|
|
|
ifdef MOZ_JSLOADER
|
|
SHARED_LIBRARY_LIBS = \
|
|
$(DIST)/lib/$(LIB_PREFIX)jsloader_s.$(LIB_SUFFIX) \
|
|
$(NULL)
|
|
endif
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
DEFINES += -DJSFILE -DJS_THREADSAFE -DEXPORT_XPC_API
|
|
|
|
ifdef MOZ_XPCTOOLS
|
|
DEFINES += -DXPC_TOOLS_SUPPORT
|
|
REQUIRES += xpctools
|
|
endif
|
|
|
|
ifdef XPC_IDISPATCH_SUPPORT
|
|
DEFINES += -DXPC_IDISPATCH_SUPPORT
|
|
ifdef XPC_COMOBJECT
|
|
DEFINES += -DXPC_COMOBJECT
|
|
endif
|
|
|
|
endif
|
|
|
|
# the windows ce compiler produces crap when compiling this
|
|
# with any optimizations. See bug 304714
|
|
ifdef WINCE
|
|
MOZ_OPTIMIZE_FLAGS=/Od
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
ifndef GNU_CXX
|
|
ifeq (,$(filter-out 1200 1300 1310,$(_MSC_VER)))
|
|
# whole program optimization and precompiled headers are incompatible
|
|
ifeq (,$(findstring GL,$(CXXFLAGS)))
|
|
# use pre-compiled headers
|
|
CXXFLAGS += -YX -Fp$(LIBRARY_NAME).pch
|
|
# precompiled headers require write access to .pch which breaks -j builds
|
|
.NOTPARALLEL::
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|