#
# 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     = ../..
topsrcdir = @top_srcdir@
srcdir    = @srcdir@
VPATH     = @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE         = necko
LIBRARY_NAME   = neckodns_s
LIBXUL_LIBRARY = 1
XPIDL_MODULE   = necko_dns
GRE_MODULE     = 1

XPIDLSRCS = \
  nsIDNSListener.idl \
  nsIDNSRecord.idl \
  nsIDNSService.idl \
  nsIEffectiveTLDService.idl \
  nsIIDNService.idl \
  nsPIDNSService.idl \
  $(NULL)

CPPSRCS = \
  nsIDNService.cpp \
  nsDNSService2.cpp \
  nsHostResolver.cpp \
  nsEffectiveTLDService.cpp \
  $(NULL)

CSRCS = \
  race.c \
  nameprep.c \
  punycode.c \
  $(NULL)

# we don't want the shared lib, but we want to force the creation of a
# static lib.
FORCE_STATIC_LIB = 1

# need to include etld_data.inc
LOCAL_INCLUDES = \
  -I$(srcdir)/../base/src \
  -I. \
  $(NULL)

include $(topsrcdir)/config/rules.mk

DEFINES += -DIMPL_NS_NET

# Generate the include file containing compact, static definitions
# for effective TLD data.
nsEffectiveTLDService.$(OBJ_SUFFIX): etld_data.inc

etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
	$(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc

GARBAGE += etld_data.inc
