DEPTH=../../..
topsrcdir=@top_srcdir@
srcdir=@srcdir@
VPATH=@srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE = browsercomps
LIBRARY_NAME = browsercomps
SHORT_LIBNAME = brwsrcmp
IS_COMPONENT = 1
MODULE_NAME = nsBrowserCompsModule
FORCE_SHARED_LIB = 1

# Because we are an application component, link against the CRT statically
# (on Windows, but only if we're not building our own CRT for jemalloc)
ifndef MOZ_MEMORY
USE_STATIC_LIBS = 1
endif

REQUIRES = \
	xpcom \
	string \
	rdf \
	uriloader \
	intl \
	necko \
	shellservice \
	xulapp \
	places \
	browserplaces \
	microsummaries \
	privatebrowsing \
	browserabout \
	$(NULL)

EXPORTS = nsBrowserCompsCID.h

CPPSRCS = nsModule.cpp \
          $(NULL)

ifeq ($(OS_ARCH),WINNT)
DEFINES += -DPSTOREC_DLL=\"$(subst \,\\,$(WINDIR))\\system32\\pstorec.dll\"

OS_LIBS	+= $(call EXPAND_LIBNAME,ole32 shell32)
endif

LOCAL_INCLUDES = \
	-I$(srcdir)/../shell/src \
	-I$(srcdir)/../feeds/src \
	-I$(srcdir)/../places/src \
	-I$(srcdir)/../privatebrowsing/src \
	-I$(srcdir)/../about \
	$(NULL)

ifeq ($(OS_ARCH),WINNT)
OS_LIBS += $(call EXPAND_LIBNAME,version)
endif

SHARED_LIBRARY_LIBS = \
	../feeds/src/$(LIB_PREFIX)browser_feeds_s.$(LIB_SUFFIX) \
	../places/src/$(LIB_PREFIX)browserplaces_s.$(LIB_SUFFIX) \
	../privatebrowsing/src/$(LIB_PREFIX)privatebrowsing_s.$(LIB_SUFFIX) \
	../about/$(LIB_PREFIX)browserabout_s.$(LIB_SUFFIX) \
	$(NULL)

ifneq (,$(filter windows mac cocoa gtk2, $(MOZ_WIDGET_TOOLKIT)))
SHARED_LIBRARY_LIBS += ../shell/src/$(LIB_PREFIX)shellservice_s.$(LIB_SUFFIX)
endif

EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,unicharutil_external_s,$(LIBXUL_DIST)/lib)

# migration requires mozreg, which doesn't build on WINCE; only include
# it on non-CE
ifndef WINCE
REQUIRES += migration
LOCAL_INCLUDES += -I$(srcdir)/../migration/src
SHARED_LIBRARY_LIBS += ../migration/src/$(LIB_PREFIX)migration_s.$(LIB_SUFFIX)
EXTRA_DSO_LDOPTS += $(LIBXUL_DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
endif

# This has to come after the above chunk, because mozreg_s has dependencies on
# stuff in MOZ_COMPONENT_LIBS.
EXTRA_DSO_LDOPTS += \
	$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
	$(MOZ_COMPONENT_LIBS) \
	$(NULL)

# Mac: Need to link with CoreFoundation for Mac Migrators (PList reading code)
# GTK2: Need to link with glib for GNOME shell service
ifneq (,$(filter mac cocoa gtk2,$(MOZ_WIDGET_TOOLKIT)))
EXTRA_DSO_LDOPTS += \
  $(TK_LIBS) \
  $(NULL)
endif

ifndef MOZ_ENABLE_LIBXUL
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
# Doesn't work, couldn't figure out why
#EXTRA_DSO_LIBS += thebes
EXTRA_DSO_LDOPTS += $(LIBXUL_DIST)/lib/$(LIB_PREFIX)thebes.$(LIB_SUFFIX)
endif
endif

include $(topsrcdir)/config/rules.mk
