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

# Statically link the CRT on Windows if building against
# a XULRunner SDK.
ifdef LIBXUL_SDK
USE_STATIC_LIBS = 1
endif

EXPORTS = nsBrowserCompsCID.h

CPPSRCS = nsModule.cpp \
          $(NULL)

ifeq ($(OS_ARCH),WINNT)
OS_LIBS	+= $(call EXPAND_LIBNAME,ole32 shell32 shlwapi)
endif

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

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

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

ifneq (,$(filter windows 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) \
	$(XPCOM_GLUE_LDOPTS) \
	$(MOZ_COMPONENT_LIBS) \
	$(NULL)

ifdef JS_SHARED_LIBRARY
EXTRA_DSO_LDOPTS += $(MOZ_JS_LIBS)
endif

LOCAL_INCLUDES += -I$(srcdir)/../migration/src
SHARED_LIBRARY_LIBS += ../migration/src/$(LIB_PREFIX)migration_s.$(LIB_SUFFIX)

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

include $(topsrcdir)/config/rules.mk

# Ensure that we don't embed a manifest referencing the CRT.
EMBED_MANIFEST_AT =
