# -*- Mode: Makefile -*-

INCLUDED_AUTOCONF_MK = 1
USE_AUTOCONF	= 1
@SHELL_OVERRIDE@
MOZILLA_CLIENT	= @MOZILLA_CLIENT@

prefix		= @prefix@
exec_prefix	= @exec_prefix@
bindir		= @bindir@
includedir	= @includedir@
libdir		= @libdir@
datadir		= @datadir@

dist_prefix	= @dist_prefix@
dist_bindir	= @dist_bindir@
dist_includedir = @dist_includedir@
dist_libdir	= @dist_libdir@

DIST		= $(dist_prefix)

RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@
OBJDIR_NAME	= @OBJDIR_NAME@
OBJDIR		= @OBJDIR@
OBJ_SUFFIX	= @OBJ_SUFFIX@
LIB_SUFFIX	= @LIB_SUFFIX@
DLL_SUFFIX	= @DLL_SUFFIX@
ASM_SUFFIX	= @ASM_SUFFIX@
MOD_NAME	= @NSPR_MODNAME@

MOD_MAJOR_VERSION = @MOD_MAJOR_VERSION@
MOD_MINOR_VERSION = @MOD_MINOR_VERSION@
MOD_PATCH_VERSION = @MOD_PATCH_VERSION@

LIBNSPR		= @LIBNSPR@
LIBPLC		= @LIBPLC@

CROSS_COMPILE	= @CROSS_COMPILE@
MOZ_OPTIMIZE	= @MOZ_OPTIMIZE@
MOZ_DEBUG	= @MOZ_DEBUG@
MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@

USE_CPLUS	= @USE_CPLUS@
USE_IPV6	= @USE_IPV6@
USE_N32		= @USE_N32@
USE_64		= @USE_64@
GC_LEAK_DETECTOR = @GC_LEAK_DETECTOR@
ENABLE_STRIP	= @ENABLE_STRIP@

USE_PTHREADS	= @USE_PTHREADS@
USE_BTHREADS	= @USE_BTHREADS@
PTHREADS_USER	= @USE_USER_PTHREADS@
CLASSIC_NSPR	= @USE_NSPR_THREADS@

AS		= @AS@
ASFLAGS		= @ASFLAGS@
CC		= @CC@
CCC		= @CXX@
NS_USE_GCC	= @GNU_CC@
GCC_USE_GNU_LD	= @GCC_USE_GNU_LD@
MSC_VER		= @MSC_VER@
AR		= @AR@
AR_FLAGS	= @AR_FLAGS@
LD		= @LD@
RANLIB		= @RANLIB@
PERL		= @PERL@
RC		= @RC@
RCFLAGS		= @RCFLAGS@
STRIP		= @STRIP@
NSINSTALL	= @NSINSTALL@
FILTER		= @FILTER@
IMPLIB		= @IMPLIB@
CYGWIN_WRAPPER	= @CYGWIN_WRAPPER@
MT		= @MT@

OS_CPPFLAGS	= @CPPFLAGS@
OS_CFLAGS	= $(OS_CPPFLAGS) @CFLAGS@ $(DSO_CFLAGS)
OS_CXXFLAGS	= $(OS_CPPFLAGS) @CXXFLAGS@ $(DSO_CFLAGS)
OS_LIBS         = @OS_LIBS@
OS_LDFLAGS	= @LDFLAGS@
OS_DLLFLAGS	= @OS_DLLFLAGS@
DLLFLAGS	= @DLLFLAGS@
EXEFLAGS  = @EXEFLAGS@
OPTIMIZER	= @OPTIMIZER@

PROFILE_GEN_CFLAGS  = @PROFILE_GEN_CFLAGS@
PROFILE_GEN_LDFLAGS = @PROFILE_GEN_LDFLAGS@
PROFILE_USE_CFLAGS  = @PROFILE_USE_CFLAGS@
PROFILE_USE_LDFLAGS = @PROFILE_USE_LDFLAGS@

MKSHLIB		= @MKSHLIB@
WRAP_MALLOC_LIB = @WRAP_MALLOC_LIB@
WRAP_MALLOC_CFLAGS = @WRAP_MALLOC_CFLAGS@
DSO_CFLAGS	= @DSO_CFLAGS@
DSO_LDOPTS	= @DSO_LDOPTS@

RESOLVE_LINK_SYMBOLS = @RESOLVE_LINK_SYMBOLS@

HOST_CC		= @HOST_CC@
HOST_CFLAGS	= @HOST_CFLAGS@
HOST_LDFLAGS	= @HOST_LDFLAGS@

DEFINES		= @DEFINES@ @DEFS@

MDCPUCFG_H	= @MDCPUCFG_H@
PR_MD_CSRCS	= @PR_MD_CSRCS@
PR_MD_ASFILES	= @PR_MD_ASFILES@
PR_MD_ARCH_DIR	= @PR_MD_ARCH_DIR@
CPU_ARCH	= @CPU_ARCH@

OS_TARGET	= @OS_TARGET@
OS_ARCH		= @OS_ARCH@
OS_RELEASE	= @OS_RELEASE@
OS_TEST		= @OS_TEST@

NOSUCHFILE	= @NOSUCHFILE@
AIX_LINK_OPTS	= @AIX_LINK_OPTS@
MOZ_OBJFORMAT	= @MOZ_OBJFORMAT@
ULTRASPARC_LIBRARY = @ULTRASPARC_LIBRARY@

OBJECT_MODE	= @OBJECT_MODE@
ifdef OBJECT_MODE
export OBJECT_MODE
endif

VISIBILITY_FLAGS = @VISIBILITY_FLAGS@
WRAP_SYSTEM_INCLUDES = @WRAP_SYSTEM_INCLUDES@

MACOSX_DEPLOYMENT_TARGET = @MACOSX_DEPLOYMENT_TARGET@
ifdef MACOSX_DEPLOYMENT_TARGET
export MACOSX_DEPLOYMENT_TARGET
endif

MACOS_SDK_DIR	= @MACOS_SDK_DIR@

SYMBIAN_SDK_DIR = @SYMBIAN_SDK_DIR@

NEXT_ROOT	= @NEXT_ROOT@
ifdef NEXT_ROOT
export NEXT_ROOT
endif
