RetroZilla/js/src/xpconnect/src/Makefile.in

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