mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
7b16802ce4
It's just as easy to directly set the preprocessor macro in the moz.build files. Using this variable doesn't really buy us anything. This patch also removes unused code from rdf/tests/dsds.
340 lines
8.2 KiB
Makefile
340 lines
8.2 KiB
Makefile
# 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/.
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
|
# This is going to be a framework named "XUL", not an ordinary library named
|
|
# "libxul.dylib"
|
|
SHARED_LIBRARY_NAME=XUL
|
|
# Setting MAKE_FRAMEWORK makes DLL_PREFIX and DLL_SUFFIX be ignored when
|
|
# setting SHARED_LIBRARY; we need to leave DLL_PREFIX and DLL_SUFFIX
|
|
# as-is so that dependencies of the form -ltracemalloc still work.
|
|
MAKE_FRAMEWORK=1
|
|
endif
|
|
|
|
ifdef MOZ_CONTENT_SANDBOX
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
SHARED_LIBRARY_LIBS += ../../security/sandbox/win/src/sandboxbroker/$(LIB_PREFIX)sandboxbroker.$(LIB_SUFFIX)
|
|
endif
|
|
endif
|
|
|
|
# COMPONENT_LIBS is mosly useless since bug 935881, but is kept for
|
|
# MOZ_APP_COMPONENT_LIBS, used by comm-central, and gtest linking.
|
|
SHARED_LIBRARY_LIBS += \
|
|
$(foreach component,$(COMPONENT_LIBS),$(DEPTH)/staticlib/$(LIB_PREFIX)$(component).$(LIB_SUFFIX)) \
|
|
$(NULL)
|
|
|
|
ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
|
|
RCINCLUDE = xulrunner.rc
|
|
endif
|
|
|
|
# dependent libraries
|
|
ifdef MOZ_B2G_BT_BLUEZ #{
|
|
ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
|
|
OS_LIBS += -ldbus
|
|
endif
|
|
endif #}
|
|
|
|
ifdef MOZ_B2G_CAMERA #{
|
|
OS_LIBS += -lstagefright -lstagefright_omx
|
|
endif #}
|
|
|
|
ifeq (Linux,$(OS_ARCH))
|
|
ifneq (Android,$(OS_TARGET))
|
|
OS_LIBS += -lrt
|
|
EXTRA_DSO_LDOPTS += -Wl,-version-script,symverscript
|
|
|
|
symverscript: symverscript.in
|
|
$(call py_action,preprocessor, \
|
|
-DVERSION='$(LIBRARY_NAME)$(MOZILLA_SYMBOLVERSION)' $< -o $@)
|
|
|
|
EXTRA_DEPS += symverscript
|
|
endif
|
|
endif
|
|
|
|
ifdef MOZ_APP_COMPONENT_LIBS
|
|
COMPONENT_LIBS += $(MOZ_APP_COMPONENT_LIBS)
|
|
endif
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
|
OS_LIBS += -framework OpenGL -lcups
|
|
endif
|
|
|
|
EXTRA_DSO_LDOPTS += \
|
|
$(LIBS_DIR) \
|
|
$(MOZ_JS_LIBS) \
|
|
$(NSS_LIBS) \
|
|
$(MOZ_CAIRO_OSLIBS) \
|
|
$(MOZ_APP_EXTRA_LIBS) \
|
|
$(SQLITE_LIBS) \
|
|
$(NULL)
|
|
|
|
ifdef ENABLE_INTL_API
|
|
ifdef JS_SHARED_LIBRARY
|
|
EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
|
|
endif
|
|
endif
|
|
|
|
ifdef MOZ_NATIVE_JPEG
|
|
EXTRA_DSO_LDOPTS += $(MOZ_JPEG_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_NATIVE_PNG
|
|
EXTRA_DSO_LDOPTS += $(MOZ_PNG_LIBS)
|
|
endif
|
|
|
|
ifndef ZLIB_IN_MOZGLUE
|
|
EXTRA_DSO_LDOPTS += $(MOZ_ZLIB_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_NATIVE_HUNSPELL
|
|
EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_NATIVE_LIBEVENT
|
|
EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_NATIVE_LIBVPX
|
|
EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS)
|
|
endif
|
|
|
|
ifndef MOZ_TREE_PIXMAN
|
|
EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_DMD
|
|
EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
|
|
endif
|
|
|
|
EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
|
|
|
|
ifdef MOZ_WEBRTC
|
|
ifeq (WINNT,$(OS_TARGET))
|
|
EXTRA_DSO_LDOPTS += \
|
|
-LIBPATH:'$(MOZ_DIRECTX_SDK_PATH)/lib/$(MOZ_DIRECTX_SDK_CPU_SUFFIX)' \
|
|
$(NULL)
|
|
OS_LIBS += $(call EXPAND_LIBNAME,secur32 crypt32 iphlpapi strmiids dmoguids wmcodecdspuuid amstrmid msdmo wininet)
|
|
endif
|
|
endif
|
|
|
|
|
|
ifdef MOZ_ALSA
|
|
EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
|
|
endif
|
|
|
|
ifdef HAVE_CLOCK_MONOTONIC
|
|
EXTRA_DSO_LDOPTS += $(REALTIME_LIBS)
|
|
endif
|
|
|
|
ifeq (android,$(MOZ_WIDGET_TOOLKIT))
|
|
OS_LIBS += -lGLESv2
|
|
endif
|
|
|
|
ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
|
|
OS_LIBS += \
|
|
-lui \
|
|
-lmedia \
|
|
-lhardware_legacy \
|
|
-lhardware \
|
|
-lutils \
|
|
-lcutils \
|
|
-lsysutils \
|
|
-lcamera_client \
|
|
-lsensorservice \
|
|
-lstagefright \
|
|
-lstagefright_foundation \
|
|
-lstagefright_omx \
|
|
-lbinder \
|
|
-lgui \
|
|
$(NULL)
|
|
endif
|
|
|
|
ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS)))
|
|
OS_LIBS += -lstagefright_foundation
|
|
endif
|
|
|
|
ifdef MOZ_WMF
|
|
OS_LIBS += $(call EXPAND_LIBNAME,mfuuid wmcodecdspuuid strmiids)
|
|
endif
|
|
|
|
ifdef MOZ_DIRECTSHOW
|
|
OS_LIBS += $(call EXPAND_LIBNAME,dmoguids wmcodecdspuuid strmiids msdmo)
|
|
endif
|
|
|
|
ifneq (,$(filter WINNT,$(OS_ARCH)))
|
|
SDK_LIBRARY = $(IMPORT_LIBRARY)
|
|
else
|
|
SDK_LIBRARY = $(SHARED_LIBRARY)
|
|
endif
|
|
|
|
EXTRA_DSO_LDOPTS += $(LIBS_DIR)
|
|
|
|
EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB)
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
|
CXXFLAGS += $(TK_CFLAGS)
|
|
OS_LIBS += \
|
|
-framework SystemConfiguration \
|
|
-framework QTKit \
|
|
-framework IOKit \
|
|
-F$(MACOS_PRIVATE_FRAMEWORKS_DIR) -framework CoreUI \
|
|
$(TK_LIBS) \
|
|
$(NULL)
|
|
endif
|
|
|
|
ifeq (OpenBSD,$(OS_ARCH))
|
|
EXTRA_DSO_LDOPTS += -lsndio
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_DBUS
|
|
EXTRA_DSO_LDOPTS += $(MOZ_DBUS_GLIB_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_WIDGET_GTK
|
|
EXTRA_DSO_LDOPTS += $(TK_LIBS)
|
|
EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XEXT_LIBS) $(XCOMPOSITE_LIBS) $(MOZ_PANGO_LIBS) $(XT_LIBS) -lgthread-2.0
|
|
EXTRA_DSO_LDOPTS += $(FT2_LIBS)
|
|
endif
|
|
|
|
ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
|
|
EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XT_LIBS) $(MOZ_QT_LIBS)
|
|
EXTRA_DSO_LDOPTS += $(FT2_LIBS) $(MOZ_PANGO_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_TREE_FREETYPE
|
|
EXTRA_DSO_LDOPTS += $(FT2_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
|
|
EXTRA_DSO_LDOPTS += $(MOZ_STARTUP_NOTIFICATION_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_LIBPROXY
|
|
EXTRA_DSO_LDOPTS += $(MOZ_LIBPROXY_LIBS)
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),SunOS)
|
|
ifdef GNU_CC
|
|
EXTRA_DSO_LDOPTS += -lelf
|
|
else
|
|
EXTRA_DSO_LDOPTS += -lelf -ldemangle
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter DragonFly FreeBSD NetBSD OpenBSD,$(OS_ARCH)))
|
|
OS_LIBS += $(call EXPAND_LIBNAME,kvm)
|
|
# keep `environ' unresolved, see bug 14426 for binutils
|
|
EXTRA_DSO_LDOPTS += -Wl,--warn-unresolved-symbols
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),FreeBSD)
|
|
OS_LIBS += $(call EXPAND_LIBNAME,util)
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
OS_LIBS += $(call EXPAND_LIBNAME,shell32 ole32 version winspool comdlg32 imm32 msimg32 shlwapi psapi ws2_32 dbghelp rasapi32 rasdlg iphlpapi uxtheme setupapi secur32 sensorsapi portabledeviceguids windowscodecs wininet wbemuuid wintrust)
|
|
ifdef ACCESSIBILITY
|
|
OS_LIBS += $(call EXPAND_LIBNAME,oleacc)
|
|
endif
|
|
ifdef MOZ_METRO
|
|
OS_LIBS += $(call EXPAND_LIBNAME,uiautomationcore runtimeobject)
|
|
endif
|
|
ifdef MOZ_GAMEPAD
|
|
ifndef GNU_CC
|
|
DXSDK := $(subst \,/,$(MOZ_DIRECTX_SDK_PATH))/Lib/$(MOZ_DIRECTX_SDK_CPU_SUFFIX)
|
|
OS_LIBS += \
|
|
'$(DXSDK)/dxguid.lib' \
|
|
'$(DXSDK)/dinput8.lib' \
|
|
$(NULL)
|
|
else
|
|
OS_LIBS += $(call EXPAND_LIBNAME,dxguid dinput8)
|
|
endif
|
|
endif
|
|
endif # WINNT
|
|
|
|
ifdef MOZ_JPROF
|
|
EXTRA_DSO_LDOPTS += -ljprof
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_QT
|
|
EXTRA_DSO_LDOPTS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS)
|
|
endif
|
|
|
|
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
|
ifdef MOZ_GSTREAMER
|
|
EXTRA_DSO_LDOPTS += $(GSTREAMER_LIBS)
|
|
endif
|
|
endif
|
|
|
|
# Generate GDB pretty printer-autoload files only on Linux. OSX's GDB is
|
|
# too old to support Python pretty-printers; if this changes, we could make
|
|
# this 'ifdef GNU_CC'.
|
|
ifeq (Linux,$(OS_ARCH))
|
|
# Create a GDB Python auto-load file alongside the libxul shared library in
|
|
# the build directory.
|
|
PP_TARGETS += LIBXUL_AUTOLOAD
|
|
LIBXUL_AUTOLOAD = libxul.so-gdb.py.in
|
|
LIBXUL_AUTOLOAD_FLAGS := -Dtopsrcdir=$(abspath $(topsrcdir))
|
|
endif
|
|
|
|
ifdef MAKE_FRAMEWORK
|
|
EFFECTIVE_LIB_PREFIX=
|
|
EFFECTIVE_LIB_SUFFIX=
|
|
else
|
|
EFFECTIVE_LIB_PREFIX=$(DLL_PREFIX)
|
|
EFFECTIVE_LIB_SUFFIX=$(DLL_SUFFIX)
|
|
endif
|
|
|
|
GTEST_LIB = $(EFFECTIVE_LIB_PREFIX)gtest/$(EFFECTIVE_LIB_PREFIX)$(SHARED_LIBRARY_NAME)$(EFFECTIVE_LIB_SUFFIX)
|
|
EXTRA_MDDEPEND_FILES = $(GTEST_LIB).pp
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
OS_LIBS += $(LIBICONV)
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
|
OS_LIBS += $(call EXPAND_LIBNAME,usp10 oleaut32)
|
|
endif
|
|
|
|
ifeq (WINNT_1,$(OS_TARGET)_$(MOZ_PROFILE_USE))
|
|
# Wrap linker to measure peak virtual memory usage.
|
|
LD := $(PYTHON) $(topsrcdir)/build/link.py $(CURDIR)/linker-vsize $(LD)
|
|
endif
|
|
|
|
ifndef LINK_GTEST
|
|
ifdef COMPILE_ENVIRONMENT
|
|
libs:: $(FINAL_TARGET)/dependentlibs.list
|
|
endif
|
|
endif
|
|
|
|
.PHONY: gtestxul
|
|
|
|
$(FINAL_TARGET)/dependentlibs.list.gtest: $(FINAL_TARGET)/dependentlibs.list
|
|
sed -e 's|$(SHARED_LIBRARY)|gtest/$(SHARED_LIBRARY)|' $< > $@
|
|
|
|
# Remove this target when actually linking gtest to prevent redefining
|
|
# the implicit rules.mk target
|
|
ifndef LINK_GTEST
|
|
|
|
gtestxul: $(GTEST_LIB)
|
|
|
|
$(GTEST_LIB): $(FINAL_TARGET)/dependentlibs.list.gtest
|
|
$(MKDIR) -p $(EFFECTIVE_LIB_PREFIX)gtest
|
|
$(MAKE) libs SHARED_LIBRARY_NAME=gtest/$(EFFECTIVE_LIB_PREFIX)$(LIBRARY_NAME) FINAL_TARGET=$(FINAL_TARGET)/gtest SDK_LIBRARY= IMPORT_LIB_DEST=$(IMPORT_LIB_DEST)/gtest LINK_GTEST=true
|
|
endif
|
|
|
|
ifdef LINK_GTEST
|
|
|
|
COMPONENT_LIBS += \
|
|
gtest \
|
|
gfxtest \
|
|
ssltest \
|
|
xpcom_glue_gtest \
|
|
media_gtest \
|
|
$(NULL)
|
|
endif
|
|
|
|
$(FINAL_TARGET)/dependentlibs.list: dependentlibs.py $(SHARED_LIBRARY) $(wildcard $(if $(wildcard $(FINAL_TARGET)/dependentlibs.list),$(addprefix $(FINAL_TARGET)/,$(shell cat $(FINAL_TARGET)/dependentlibs.list))))
|
|
$(PYTHON) $< $(SHARED_LIBRARY) -L $(FINAL_TARGET) $(if $(TOOLCHAIN_PREFIX),$(addprefix -p ,$(TOOLCHAIN_PREFIX))) > $@
|