# # 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/. include $(topsrcdir)/config/rules.mk ifdef LIBXUL_SDK $(error config/nspr/Makefile.in is not compatible with --enable-libxul-sdk=) endif ifdef MOZ_NATIVE_NSPR $(error config/nspr/Makefile.in is not compatible with MOZ_NATIVE_NSPR) endif # Copy NSPR to the SDK ABS_DIST = $(abspath $(DIST)) ifdef MOZ_FOLD_LIBS # Trick the nspr build system into not building shared libraries. # bug #851869. EXTRA_MAKE_FLAGS := SHARED_LIBRARY= IMPORT_LIBRARY= SHARED_LIB_PDB= # Work around libVersionPoint conflict between all three libraries. # See bug #838566. EXTRA_MAKE_FLAGS += XP_DEFINE=-DlibVersionPoint='libVersionPoint$$(LIBRARY_NAME)' else # nspr's make export compiles and links everything, but linking can't happen # during export on platforms where nspr is linked against mozcrt/mozglue. export:: EXTRA_MAKE_FLAGS := SHARED_LIBRARY= IMPORT_LIBRARY= SHARED_LIB_PDB= endif libs export clean distclean:: $(MAKE) -C $(DEPTH)/nsprpub $@ $(EXTRA_MAKE_FLAGS) libs:: $(MAKE) -C $(DEPTH)/nsprpub install prefix=$(ABS_DIST)/sdk exec_prefix=$(ABS_DIST)/sdk bindir=$(ABS_DIST)/sdk/dummy includedir=$(ABS_DIST)/include/nspr libdir=$(ABS_DIST)/sdk/lib datadir=$(ABS_DIST)/sdk/dummy DESTDIR= $(EXTRA_MAKE_FLAGS) $(INSTALL) $(DEPTH)/nsprpub/config/nspr-config $(DIST)/sdk/bin $(RM) -rf $(DIST)/sdk/dummy ifneq (,$(filter OS2 WINNT,$(OS_ARCH))) # { $(RM) -f $(DIST)/sdk/lib/$(DLL_PREFIX)nspr4$(DLL_SUFFIX) $(DIST)/sdk/lib/$(DLL_PREFIX)plc4$(DLL_SUFFIX) $(DIST)/sdk/lib/$(DLL_PREFIX)plds4$(DLL_SUFFIX) $(RM) -f $(DIST)/sdk/lib/$(LIB_PREFIX)nspr4_s.$(LIB_SUFFIX) $(DIST)/sdk/lib/$(LIB_PREFIX)plc4_s.$(LIB_SUFFIX) $(DIST)/sdk/lib/$(LIB_PREFIX)plds4_s.$(LIB_SUFFIX) else # } { $(RM) -f $(DIST)/sdk/lib/$(LIB_PREFIX)nspr4.$(LIB_SUFFIX) $(DIST)/sdk/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) $(DIST)/sdk/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) endif # }