Commit 5570c70a authored by André Guerreiro's avatar André Guerreiro Committed by Albert Astals Cid

NSS conditional build

parent c7c0207b
......@@ -105,7 +105,7 @@ endif(WITH_FONTCONFIGURATION_FONTCONFIG)
macro_optional_find_package(JPEG)
macro_optional_find_package(PNG)
macro_optional_find_package(TIFF)
find_package(NSS3 REQUIRED)
macro_optional_find_package(NSS3)
if(JPEG_FOUND)
set(ENABLE_LIBJPEG ${JPEG_FOUND})
endif(JPEG_FOUND)
......@@ -203,8 +203,6 @@ if(ENABLE_LIBCURL)
set(POPPLER_HAS_CURL_SUPPORT ON)
endif(ENABLE_LIBCURL)
add_definitions(${NSS3_CFLAGS})
add_definitions(-DHAVE_CONFIG_H=1)
if(MINGW)
# Use mingw's ansi stdio extensions
......@@ -237,6 +235,11 @@ endif(CMAKE_USE_PTHREADS_INIT)
if(ENABLE_ZLIB)
include_directories(${ZLIB_INCLUDE_DIR})
endif(ENABLE_ZLIB)
if (NSS3_FOUND)
add_definitions(${NSS3_CFLAGS})
set(ENABLE_NSS3 ON)
endif(NSS3_FOUND)
if(JPEG_FOUND)
include_directories(${JPEG_INCLUDE_DIR})
set(ENABLE_LIBJPEG ON)
......@@ -367,7 +370,6 @@ set(poppler_SRCS
poppler/ProfileData.cc
poppler/PreScanOutputDev.cc
poppler/PSTokenizer.cc
poppler/SignatureHandler.cc
poppler/SignatureInfo.cc
poppler/Stream.cc
poppler/StructTreeRoot.cc
......@@ -417,7 +419,7 @@ endif(ENABLE_SPLASH)
if(FONTCONFIG_FOUND)
set(poppler_LIBS ${poppler_LIBS} ${FONTCONFIG_LIBRARIES})
endif(FONTCONFIG_FOUND)
set(poppler_LIBS ${poppler_LIBS} ${NSS3_LIBRARIES})
if(JPEG_FOUND)
set(poppler_SRCS ${poppler_SRCS}
poppler/DCTStream.cc
......@@ -437,6 +439,12 @@ if(ENABLE_LIBCURL)
)
set(poppler_LIBS ${poppler_LIBS} ${CURL_LIBRARIES})
endif(ENABLE_LIBCURL)
if (ENABLE_NSS3)
set(poppler_SRCS ${poppler_SRCS}
poppler/SignatureHandler.cc
)
set(poppler_LIBS ${poppler_LIBS} ${NSS3_LIBRARIES})
endif(ENABLE_NSS3)
if(LIBOPENJPEG_FOUND)
set(poppler_SRCS ${poppler_SRCS}
poppler/JPEG2000Stream.cc
......@@ -725,6 +733,7 @@ show_end_message_yesno("use libjpeg" ENABLE_LIBJPEG)
show_end_message_yesno("use libpng" ENABLE_LIBPNG)
show_end_message_yesno("use libtiff" ENABLE_LIBTIFF)
show_end_message_yesno("use zlib" ENABLE_ZLIB)
show_end_message_yesno("use nss3" ENABLE_NSS3)
show_end_message_yesno("use curl" ENABLE_LIBCURL)
show_end_message_yesno("use libopenjpeg" WITH_OPENJPEG)
if(USE_OPENJPEG1)
......
......@@ -21,6 +21,9 @@
/* Use zlib instead of builtin zlib decoder. */
#cmakedefine ENABLE_ZLIB 1
/* Build against libnss3 for digital signature validation */
#cmakedefine ENABLE_NSS3 1
/* Use cairo for rendering. */
#cmakedefine HAVE_CAIRO 1
......
......@@ -264,12 +264,29 @@ else
enable_libopenjpeg=no
fi
PKG_CHECK_MODULES(NSS3, nss, [], [])
dnl Test for NSS
AC_ARG_ENABLE(libnss,
AC_HELP_STRING([--disable-nss],
[Do not build against libnss3.]),
enable_libnss=$enableval,
enable_libnss="try")
if test x$enable_libnss != xno; then
PKG_CHECK_MODULES(NSS3, nss, [enable_nss="yes"],
[enable_nss="no"])
fi
if test x$enable_nss = xyes; then
AC_DEFINE(ENABLE_NSS3, 1, [Build against NSS.])
fi
AM_CONDITIONAL(BUILD_LIBOPENJPEG, test x$openjpeg1 = xyes || test x$openjpeg2 = xyes)
AH_TEMPLATE([ENABLE_LIBOPENJPEG],
[Use libopenjpeg instead of builtin jpeg2000 decoder.])
AM_CONDITIONAL(BUILD_NSS, test x$enable_nss = xyes)
AH_TEMPLATE([ENABLE_NSS3], [Build Poppler against NSS for digital signature support.])
dnl ##### Test for libtiff
AC_ARG_ENABLE(libtiff,
AC_HELP_STRING([--disable-libtiff],
......@@ -1007,6 +1024,7 @@ echo " use libjpeg: $enable_libjpeg"
echo " use libpng: $enable_libpng"
echo " use libtiff: $enable_libtiff"
echo " use zlib: $enable_zlib"
echo " use nss $enable_nss"
echo " use libcurl: $enable_libcurl"
echo " use libopenjpeg: $enable_libopenjpeg"
if test x$enable_libopenjpeg = xyes;then
......
......@@ -39,7 +39,10 @@
#include "Form.h"
#include "PDFDoc.h"
#include "DateInfo.h"
#ifdef ENABLE_NSS3
#include "SignatureHandler.h"
#endif
#include "SignatureInfo.h"
#include "XRef.h"
#include "PDFDocEncoding.h"
#include "Annot.h"
......@@ -1380,6 +1383,7 @@ FormFieldSignature::FormFieldSignature(PDFDoc *docA, Object *dict, const Ref& re
: FormField(docA, dict, ref, parent, usedParents, formSignature)
{
signature = NULL;
signature_info = new SignatureInfo();
parseInfo();
}
......@@ -1433,7 +1437,7 @@ void FormFieldSignature::parseInfo()
SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool forceRevalidation)
{
#ifdef ENABLE_NSS3
if (!signature_info->isSubfilterSupported()) {
error(errUnimplemented, 0, "Unable to validate this type of signature");
return signature_info;
......@@ -1498,6 +1502,7 @@ SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool for
cert_val_state = signature_handler.validateCertificate();
signature_info->setCertificateValStatus(SignatureHandler::NSS_CertTranslate(cert_val_state));
#endif
return signature_info;
}
......
......@@ -78,6 +78,22 @@ libjpeg2000_sources = \
endif
if BUILD_NSS
nss_sources = \
SignatureHandler.cc
nss_libs = \
$(NSS3_LIBS)
nss_includes = \
$(NSS3_CFLAGS)
nss_headers =
SignatureHandler.h
endif
if BUILD_ZLIB
......@@ -119,6 +135,7 @@ poppler_includedir = $(includedir)/poppler
poppler_include_HEADERS = \
$(splash_headers) \
$(curl_headers) \
$(nss_headers) \
Annot.h \
Array.h \
BuiltinFont.h \
......@@ -166,8 +183,7 @@ poppler_include_HEADERS = \
PreScanOutputDev.h \
PSTokenizer.h \
Rendition.h \
SignatureHandler.h \
SignatureInfo.h \
SignatureInfo.h \
StdinCachedFile.h \
StdinPDFDocBuilder.h \
Stream-CCITT.h \
......@@ -202,6 +218,7 @@ libpoppler_la_SOURCES = \
$(splash_sources) \
$(libjpeg_sources) \
$(zlib_sources) \
$(nss_sources) \
$(libjpeg2000_sources) \
$(curl_sources) \
Annot.cc \
......@@ -249,8 +266,7 @@ libpoppler_la_SOURCES = \
PreScanOutputDev.cc \
PSTokenizer.cc \
Rendition.cc \
SignatureHandler.cc \
SignatureInfo.cc \
SignatureInfo.cc \
StdinCachedFile.cc \
StdinPDFDocBuilder.cc \
Stream.cc \
......@@ -279,7 +295,7 @@ libpoppler_la_CPPFLAGS = \
$(libjpeg2000_includes) \
$(libpng_includes) \
$(libcurl_includes) \
$(NSS3_CFLAGS) \
$(nss_includes) \
$(FREETYPE_CFLAGS) \
$(FONTCONFIG_CFLAGS) \
$(AM_CPPFLAGS)
......@@ -294,8 +310,8 @@ libpoppler_la_LIBADD = \
$(libpng_libs) \
$(zlib_libs) \
$(libcurl_libs) \
$(nss_libs) \
$(libjpeg2000_libs) \
$(NSS3_LIBS) \
$(FREETYPE_LIBS) \
$(FONTCONFIG_LIBS) \
$(PTHREAD_LIBS) \
......
......@@ -89,13 +89,15 @@ target_link_libraries(pdfinfo ${common_libs})
install(TARGETS pdfinfo DESTINATION bin)
install(FILES pdfinfo.1 DESTINATION ${SHARE_INSTALL_DIR}/man/man1)
# pdfsigverify
set(pdfsigverify_SOURCES ${common_srcs}
pdfsigverify.cc
)
add_executable(pdfsigverify ${pdfsigverify_SOURCES})
target_link_libraries(pdfsigverify ${common_libs})
install(TARGETS pdfsigverify DESTINATION bin)
if (ENABLE_NSS3)
# pdfsigverify
set(pdfsigverify_SOURCES ${common_srcs}
pdfsigverify.cc
)
add_executable(pdfsigverify ${pdfsigverify_SOURCES})
target_link_libraries(pdfsigverify ${common_libs})
install(TARGETS pdfsigverify DESTINATION bin)
endif (ENABLE_NSS3)
# pdftops
set(pdftops_SOURCES ${common_srcs}
......
......@@ -23,9 +23,12 @@ bin_PROGRAMS = \
pdftotext \
pdftohtml \
pdfseparate \
pdfsigverify \
pdfunite
if BUILD_NSS
bin_PROGRAMS += pdfsigverify
endif
if BUILD_SPLASH_OUTPUT
bin_PROGRAMS += pdftoppm
endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment