DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5b81998bb7ab)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
# vim:set ts=8 sw=8 sts=8 et:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DEPTH = @DEPTH@
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@

include $(DEPTH)/config/autoconf.mk

DIRS = profile

PREF_JS_EXPORTS = $(srcdir)/xulrunner.js
GARBAGE += $(addprefix $(DIST)/bin/defaults/pref/,xulrunner.js)

DEFINES += -DAB_CD=$(AB_CD)

PROGRAM = xulrunner$(BIN_SUFFIX)

DEFINES += -DXULRUNNER_PROGNAME=\"xulrunner\"

ifdef TARGET_XPCOM_ABI
DEFINES += -DTARGET_XPCOM_ABI=\"$(TARGET_XPCOM_ABI)\"
endif

DEFINES += -DXPCOM_GLUE
STL_FLAGS=

CPPSRCS = nsXULRunnerApp.cpp

LOCAL_INCLUDES += \
  -I$(topsrcdir)/toolkit/xre \
  -I$(topsrcdir)/toolkit/profile \
  -I$(topsrcdir)/xpcom/base \
  -I$(topsrcdir)/xpcom/build \
  $(NULL)

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
TK_LIBS := -framework Cocoa $(TK_LIBS)
endif

LIBS += \
  $(EXTRA_DSO_LIBS) \
  $(XPCOM_STANDALONE_GLUE_LDOPTS) \
  $(NULL)

ifndef MOZ_WINCONSOLE
ifdef MOZ_DEBUG
MOZ_WINCONSOLE = 1
else
MOZ_WINCONSOLE = 0
endif
endif

# This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that
# shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall.
NSDISTMODE = copy

include $(topsrcdir)/config/config.mk

ifdef _MSC_VER
# Always enter a Windows program through wmain, whether or not we're
# a console application.
WIN32_EXE_LDFLAGS += -ENTRY:wmainCRTStartup
endif

ifeq ($(OS_ARCH),WINNT)
OS_LIBS += $(call EXPAND_LIBNAME,comctl32 comdlg32 uuid shell32 ole32 oleaut32 version winspool)
RCINCLUDE = splash.rc
ifndef GNU_CC
RCFLAGS += -DMOZ_XULRUNNER -I$(srcdir)
else
RCFLAGS += -DMOZ_XULRUNNER --include-dir $(srcdir)
endif
ifdef DEBUG
RCFLAGS += -DDEBUG
endif
endif

ifeq ($(OS_ARCH),OS2)
RESFILE=splashos2.res
RCFLAGS += -DMOZ_XULRUNNER
ifdef DEBUG
RCFLAGS += -DDEBUG
endif
RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\"
endif

include $(topsrcdir)/config/rules.mk

DEFINES += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\"

ifeq ($(OS_ARCH),WINNT)
#
# Control the default heap size.
# This is the heap returned by GetProcessHeap().
# As we use the CRT heap, the default size is too large and wastes VM.
#
# The default heap size is 1MB on Win32.
# The heap will grow if need be.
#
# Set it to 256k.  See bug 127069.
#
ifndef GNU_CC
LDFLAGS += /HEAP:0x40000
ifeq ($(OS_TEST),x86_64)
# set stack to 2MB on x64 build.  See bug 582910
LDFLAGS += -STACK:2097152
endif
endif
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
libs::
	$(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png $(DIST)/bin/chrome/icons/default
	$(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png $(DIST)/bin/chrome/icons/default
	$(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png $(DIST)/bin/chrome/icons/default
endif

# XXX applications would need to supply this file
#export:: brand.dtd.in
#	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $^ > brand.dtd

export::
	$(NSINSTALL) -D $(DIST)/branding
ifeq ($(OS_ARCH),WINNT)
	cp $(srcdir)/xulrunner.ico   $(DIST)/branding/xulrunner.ico
	cp $(srcdir)/xulrunner.ico   $(DIST)/branding/app.ico
	cp $(srcdir)/document.ico  $(DIST)/branding/document.ico
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
	cp $(srcdir)/default16.png   $(DIST)/branding/default16.png
	cp $(srcdir)/default32.png   $(DIST)/branding/default32.png
	cp $(srcdir)/default48.png   $(DIST)/branding/default48.png
endif
ifeq ($(OS_ARCH),OS2)
	cp $(srcdir)/xulrunner-os2.ico   $(DIST)/branding/xulrunner.ico
endif

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))

FRAMEWORK_NAME = XUL
FRAMEWORK_VERSION = $(MOZILLA_VERSION)

FRAMEWORK_DIR = \
   $(DIST)/$(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)

$(FRAMEWORK_DIR)/Resources:
	$(NSINSTALL) -D $@

libs:: $(PROGRAM) $(FRAMEWORK_DIR)/Resources
	$(NSINSTALL) $(srcdir)/macbuild/InfoPlist.strings $(FRAMEWORK_DIR)/Resources
	sed -e "s/APP_VERSION/$(APP_VERSION)/" $(srcdir)/macbuild/Info.plist.in > $(FRAMEWORK_DIR)/Info.plist
	rsync -av $(DIST)/bin/ $(FRAMEWORK_DIR) --exclude mangle --exclude shlibsign
	rm -f $(DIST)/$(FRAMEWORK_NAME).framework/Versions/Current \
	      $(DIST)/$(FRAMEWORK_NAME).framework/libxpcom.dylib \
	      $(DIST)/$(FRAMEWORK_NAME).framework/XUL \
	      $(DIST)/$(FRAMEWORK_NAME).framework/xulrunner
	ln -s $(FRAMEWORK_VERSION) $(DIST)/$(FRAMEWORK_NAME).framework/Versions/Current
	ln -s Versions/Current/libxpcom.dylib $(DIST)/$(FRAMEWORK_NAME).framework/libxpcom.dylib
	ln -s Versions/Current/XUL $(DIST)/$(FRAMEWORK_NAME).framework/XUL
	ln -s Versions/Current/xulrunner $(DIST)/$(FRAMEWORK_NAME).framework/xulrunner

clean clobber::
	rm -rf $(DIST)/$(FRAMEWORK_NAME).framework
endif

README_FILE = $(srcdir)/../README.xulrunner

libs::
	$(INSTALL) $(IFLAGS1) $(README_FILE) $(DIST)/bin
	$(INSTALL) $(IFLAGS1) $(topsrcdir)/LICENSE	$(DIST)/bin