*three* poppler config headers

note: to get the 3rd one, use -DENABLE_CPP=on

mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=on -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6=off

manually disabled these because cmake failed to do it:
HAVE_CAIRO
ENABLE_NSS3
ENABLE_LIBPNG (twice!)
ENABLE_LIBTIFF (twice!)
ENABLE_LIBCURL

diff --git a/config.h b/config.h
new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/config.h
@@ -0,0 +1,229 @@
+/* config.h.  Generated from config.h.cmake by cmake.  */
+
+/* Build against libcurl. */
+/* #undef ENABLE_LIBCURL */
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+#define ENABLE_LIBJPEG 1
+
+/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
+/* #undef ENABLE_LIBOPENJPEG */
+
+/* Build against libtiff. */
+/* #undef ENABLE_LIBTIFF */
+
+/* Build against libpng. */
+/* #define ENABLE_LIBPNG 1 */
+
+/* Do not hardcode the library location */
+/* #undef ENABLE_RELOCATABLE */
+
+/* Use zlib instead of builtin zlib decoder to uncompress flate streams. */
+/* #undef ENABLE_ZLIB_UNCOMPRESS */
+
+/* Build against libnss3 for digital signature validation */
+/* #undef ENABLE_NSS3 */
+
+/* Build against libgpgme for digital signature validation */
+/* #undef ENABLE_GPGME */
+
+/* Signatures enabled */
+/* #undef ENABLE_SIGNATURES */
+
+/* Default signature backend */
+#define DEFAULT_SIGNATURE_BACKEND "None"
+
+/* Use cairo for rendering. */
+/* #define HAVE_CAIRO 1 */
+
+/* Do we have any DCT decoder?. */
+#define HAVE_DCT_DECODER 1
+
+/* Do we have any JPX decoder?. */
+/* #undef HAVE_JPX_DECODER */
+
+#if !defined(_WIN32)
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+#endif
+
+#if !defined(_WIN32)
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+#endif
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fseek64' function. */
+/* #undef HAVE_FSEEK64 */
+
+#if !defined(_WIN32)
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#define HAVE_FSEEKO 1
+#endif
+
+/* Define to 1 if you have the `ftell64' function. */
+/* #undef HAVE_FTELL64 */
+
+#if !defined(__APPLE__) && !defined(_WIN32)
+/* Define to 1 if you have the `pread64' function. */
+#define HAVE_PREAD64 1
+#endif
+
+#if !defined(__APPLE__) && !defined(_WIN32)
+/* Define to 1 if you have the `lseek64' function. */
+#define HAVE_LSEEK64 1
+#endif
+
+#if !defined(_WIN32)
+/* Defines if gettimeofday is available on your system */
+#define HAVE_GETTIMEOFDAY 1
+#endif
+
+#if !defined(_WIN32)
+/* Defines if gmtime_r is available on your system */
+#define HAVE_GMTIME_R 1
+#endif
+
+#if !defined(_WIN32)
+/* Defines if timegm is available on your system */
+#define HAVE_TIMEGM 1
+#endif
+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
+#if !defined(_WIN32)
+/* Defines if localtime_r is available on your system */
+#define HAVE_LOCALTIME_R 1
+#endif
+
+#if !defined(_WIN32)
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+#endif
+
+#if !defined(_WIN32)
+/* Defines if strtok_r is available on your system */
+#define HAVE_STRTOK_R 1
+#endif
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+#if !defined(_WIN32)
+/* Define to 1 if you have the `popen' function. */
+#define HAVE_POPEN 1
+#endif
+
+#if !defined(__APPLE__) && !defined(_WIN32)
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#define HAVE_SYS_DIR_H 1
+#endif
+
+#if !defined(__APPLE__) && !defined(_WIN32)
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+#endif
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+#if !defined(_WIN32)
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+#endif
+
+/* Define to 1 if you have a big endian machine */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define as const if the declaration of iconv() needs const. */
+#define ICONV_CONST 
+
+/* Generate OPI comments in PS output. */
+#define OPI_SUPPORT 1
+
+/* Name of package */
+#define PACKAGE "poppler"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=poppler"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "poppler"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "poppler 25.01.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "poppler"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "25.01.0"
+
+/* Poppler data dir */
+#define POPPLER_DATADIR "/usr/local/share/poppler"
+
+/* Support for curl based doc builder is compiled in. */
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+
+/* Enable word list support. */
+#define TEXTOUT_WORD_LIST 1
+
+/* Defines if use cms */
+/* #undef USE_CMS */
+
+/* Use single precision arithmetic in the Splash backend */
+/* #undef USE_FLOAT */
+
+/* Version number of package */
+#define VERSION "25.01.0"
+
+#if defined(__APPLE__)
+#elif defined (_WIN32)
+/* Use win32 font configuration backend */
+#define WITH_FONTCONFIGURATION_WIN32 1
+#elif defined (__ANDROID__)
+/* Use android font configuration backend */
+#define WITH_FONTCONFIGURATION_ANDROID 1
+#else
+/* Use fontconfig font configuration backend */
+#define WITH_FONTCONFIGURATION_FONTCONFIG 1
+#endif
+
+/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag */
+/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
+
+/* MS defined snprintf as deprecated but then added it in Visual Studio 2015. */
+#if defined(_MSC_VER) && _MSC_VER < 1900
+#define snprintf _snprintf
+#endif
+
+//------------------------------------------------------------------------
+// popen
+//------------------------------------------------------------------------
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#define popen _popen
+#define pclose _pclose
+#define strncasecmp _strnicmp
+#define strcasecmp _stricmp
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+/* TODO This is wrong, port if needed #undef _LARGEFILE_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* TODO This is wrong, port if needed #undef _LARGE_FILES */
diff --git a/poppler/poppler-config.h b/poppler/poppler-config.h
new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/poppler/poppler-config.h
@@ -0,0 +1,156 @@
+//================================================= -*- mode: c++ -*- ====
+//
+// poppler-config.h
+//
+// Copyright 1996-2011, 2022 Glyph & Cog, LLC
+//
+//========================================================================
+
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
+// Copyright (C) 2014 Hib Eris <hib@hiberis.nl>
+// Copyright (C) 2016 Tor Lillqvist <tml@collabora.com>
+// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2018 Adam Reichold <adam.reichold@t-online.de>
+// Copyright (C) 2018 Stefan Brüns <stefan.bruens@rwth-aachen.de>
+// Copyright (C) 2020 Albert Astals Cid <aacid@kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
+#ifndef POPPLER_CONFIG_H
+#define POPPLER_CONFIG_H
+
+// We duplicate some of the config.h #define's here since they are
+// used in some of the header files we install.  The #ifndef/#endif
+// around #undef look odd, but it's to silence warnings about
+// redefining those symbols.
+
+/* Defines the poppler version. */
+#ifndef POPPLER_VERSION
+#define POPPLER_VERSION "25.01.0"
+#endif
+
+/* Use single precision arithmetic in the Splash backend */
+#ifndef USE_FLOAT
+/* #undef USE_FLOAT */
+#endif
+
+/* Include support for OPI comments. */
+#ifndef OPI_SUPPORT
+#define OPI_SUPPORT 1
+#endif
+
+/* Enable word list support. */
+#ifndef TEXTOUT_WORD_LIST
+#define TEXTOUT_WORD_LIST 1
+#endif
+
+/* Support for curl is compiled in. */
+#ifndef POPPLER_HAS_CURL_SUPPORT
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+#endif
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+#ifndef ENABLE_LIBJPEG
+#define ENABLE_LIBJPEG 1
+#endif
+
+/* Build against libtiff. */
+#ifndef ENABLE_LIBTIFF
+/* #undef ENABLE_LIBTIFF */
+#endif
+
+/* Build against libpng. */
+#ifndef ENABLE_LIBPNG
+/* #define ENABLE_LIBPNG 1 */
+#endif
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_DIRENT_H
+#if !defined(_WIN32)
+#define HAVE_DIRENT_H 1
+#endif
+#endif
+
+/* Defines if gettimeofday is available on your system */
+#ifndef HAVE_GETTIMEOFDAY
+#if !defined(_WIN32)
+#define HAVE_GETTIMEOFDAY 1
+#endif
+#endif
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#ifndef HAVE_NDIR_H
+/* #undef HAVE_NDIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_DIR_H
+#if !defined(__APPLE__) && !defined(_WIN32)
+#define HAVE_SYS_DIR_H 1
+#endif
+#endif
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_NDIR_H
+/* #undef HAVE_SYS_NDIR_H */
+#endif
+
+/* Defines if use cms */
+#ifndef USE_CMS
+/* #undef USE_CMS */
+#endif
+
+/* Use header-only classes from Boost in the Splash backend */
+#ifndef USE_BOOST_HEADERS
+/* #undef USE_BOOST_HEADERS */
+#endif
+
+//------------------------------------------------------------------------
+// version
+//------------------------------------------------------------------------
+
+// copyright notice
+#define popplerCopyright "Copyright 2005-2025 The Poppler Developers - http://poppler.freedesktop.org"
+#define xpdfCopyright "Copyright 1996-2011, 2022 Glyph & Cog, LLC"
+
+//------------------------------------------------------------------------
+// Win32 stuff
+//------------------------------------------------------------------------
+
+#if defined(_WIN32) && !defined(_MSC_VER)
+#include <windef.h>
+#else
+#define CDECL
+#endif
+
+//------------------------------------------------------------------------
+// Compiler
+//------------------------------------------------------------------------
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+#include <cstdio> // __MINGW_PRINTF_FORMAT is defined in the mingw stdio.h
+#ifdef __MINGW_PRINTF_FORMAT
+#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
+	__attribute__((__format__(__MINGW_PRINTF_FORMAT, fmt_index, va_index)))
+#else
+#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
+	__attribute__((__format__(__printf__, fmt_index, va_index)))
+#endif
+#else
+#define GCC_PRINTF_FORMAT(fmt_index, va_index)
+#endif
+
+#endif /* POPPLER_CONFIG_H */
diff --git a/cpp/poppler-version.h b/cpp/poppler-version.h
new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/cpp/poppler-version.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2009, Pino Toscano <pino@kde.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef POPPLER_VERSION_H
+#define POPPLER_VERSION_H
+
+#include "poppler-global.h"
+
+#define POPPLER_VERSION "25.01.0"
+#define POPPLER_VERSION_MAJOR 25
+#define POPPLER_VERSION_MINOR 1
+#define POPPLER_VERSION_MICRO 0
+
+namespace poppler
+{
+
+POPPLER_CPP_EXPORT std::string version_string();
+POPPLER_CPP_EXPORT unsigned int version_major();
+POPPLER_CPP_EXPORT unsigned int version_minor();
+POPPLER_CPP_EXPORT unsigned int version_micro();
+
+}
+
+#endif
diff --git a/poppler_private_export.h b/poppler_private_export.h
new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/poppler_private_export.h
@@ -0,0 +1,11 @@
+
+#ifndef POPPLER_PRIVATE_EXPORT_H
+#define POPPLER_PRIVATE_EXPORT_H
+
+#  define POPPLER_PRIVATE_EXPORT
+#  define POPPLER_PRIVATE_NO_EXPORT
+#  define POPPLER_PRIVATE_DEPRECATED
+#  define POPPLER_PRIVATE_DEPRECATED_EXPORT
+#  define POPPLER_PRIVATE_DEPRECATED_NO_EXPORT
+
+#endif /* POPPLER_PRIVATE_EXPORT_H */

diff --git a/cpp/poppler_cpp_export.h b/cpp/poppler_cpp_export.h
new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/cpp/poppler_cpp_export.h
@@ -0,0 +1,11 @@
+
+#ifndef POPPLER_CPP_EXPORT_H
+#define POPPLER_CPP_EXPORT_H
+
+#  define POPPLER_CPP_EXPORT
+#  define POPPLER_CPP_NO_EXPORT
+#  define POPPLER_CPP_DEPRECATED
+#  define POPPLER_CPP_DEPRECATED_EXPORT
+#  define POPPLER_CPP_DEPRECATED_NO_EXPORT
+
+#endif /* POPPLER_CPP_EXPORT_H */
