Commit 7c1e0a2abe12aa8b2312960a39222bff61daedca
1 parent
8f389f14
Test for wmain/unicode
Showing
2 changed files
with
43 additions
and
0 deletions
autoconf.mk.in
| @@ -41,6 +41,8 @@ QPDF_SKIP_TEST_COMPARE_IMAGES=@QPDF_SKIP_TEST_COMPARE_IMAGES@ | @@ -41,6 +41,8 @@ QPDF_SKIP_TEST_COMPARE_IMAGES=@QPDF_SKIP_TEST_COMPARE_IMAGES@ | ||
| 41 | BUILDRULES=@BUILDRULES@ | 41 | BUILDRULES=@BUILDRULES@ |
| 42 | HAVE_LD_VERSION_SCRIPT=@HAVE_LD_VERSION_SCRIPT@ | 42 | HAVE_LD_VERSION_SCRIPT=@HAVE_LD_VERSION_SCRIPT@ |
| 43 | WINDOWS_WORDSIZE=@WINDOWS_WORDSIZE@ | 43 | WINDOWS_WORDSIZE=@WINDOWS_WORDSIZE@ |
| 44 | +WINDOWS_WMAIN_COMPILE=@WINDOWS_WMAIN_COMPILE@ | ||
| 45 | +WINDOWS_WMAIN_LINK=@WINDOWS_WMAIN_LINK@ | ||
| 44 | SHOW_FAILED_TEST_OUTPUT=@SHOW_FAILED_TEST_OUTPUT@ | 46 | SHOW_FAILED_TEST_OUTPUT=@SHOW_FAILED_TEST_OUTPUT@ |
| 45 | # Allow environment variable to override | 47 | # Allow environment variable to override |
| 46 | QPDF_LARGE_FILE_TEST_PATH?=@QPDF_LARGE_FILE_TEST_PATH@ | 48 | QPDF_LARGE_FILE_TEST_PATH?=@QPDF_LARGE_FILE_TEST_PATH@ |
configure.ac
| @@ -145,6 +145,47 @@ if test "$BUILD_INTERNAL_LIBS" = "0"; then | @@ -145,6 +145,47 @@ if test "$BUILD_INTERNAL_LIBS" = "0"; then | ||
| 145 | AC_SEARCH_LIBS(jpeg_destroy,jpeg,,[MISSING_JPEG=1; MISSING_ANY=1]) | 145 | AC_SEARCH_LIBS(jpeg_destroy,jpeg,,[MISSING_JPEG=1; MISSING_ANY=1]) |
| 146 | fi | 146 | fi |
| 147 | 147 | ||
| 148 | +qpdf_USE_WMAIN=0 | ||
| 149 | +AC_LANG_PUSH([C++]) | ||
| 150 | +AC_SUBST(WINDOWS_WMAIN_COMPILE) | ||
| 151 | +AC_SUBST(WINDOWS_WMAIN_LINK) | ||
| 152 | +for i in 0 1; do | ||
| 153 | + if test "$qpdf_USE_WMAIN" = "0"; then | ||
| 154 | + oLDFLAGS="$LDFLAGS" | ||
| 155 | + if test "$i" = "1"; then | ||
| 156 | + nLDFLAGS="-municode" | ||
| 157 | + LDFLAGS="$LDFLAGS $nLDFLAGS" | ||
| 158 | + msg="checking for wmain with $nLDFLAGS" | ||
| 159 | + else | ||
| 160 | + nLDFLAGS= | ||
| 161 | + msg="checking for wmain" | ||
| 162 | + fi | ||
| 163 | + AC_MSG_CHECKING($msg) | ||
| 164 | + AC_LINK_IFELSE([AC_LANG_SOURCE( | ||
| 165 | + [[#include <windows.h> | ||
| 166 | + #include <string.h> | ||
| 167 | + #include <stdio.h> | ||
| 168 | + extern "C" | ||
| 169 | + int wmain(int argc, wchar_t* argv[]) | ||
| 170 | + { | ||
| 171 | + size_t x = wcslen(argv[0]); | ||
| 172 | + return 0; | ||
| 173 | + } | ||
| 174 | + ]])], | ||
| 175 | + [qpdf_USE_WMAIN=1], | ||
| 176 | + [qpdf_USE_WMAIN=0]) | ||
| 177 | + LDFLAGS="$oLDFLAGS" | ||
| 178 | + if test "$qpdf_USE_WMAIN" = "1"; then | ||
| 179 | + AC_MSG_RESULT(yes) | ||
| 180 | + WINDOWS_WMAIN_COMPILE="-DWINDOWS_WMAIN $nLDFLAGS" | ||
| 181 | + WINDOWS_WMAIN_LINK="$nLDFLAGS" | ||
| 182 | + else | ||
| 183 | + AC_MSG_RESULT(no) | ||
| 184 | + fi | ||
| 185 | + fi | ||
| 186 | +done | ||
| 187 | +AC_LANG_POP | ||
| 188 | + | ||
| 148 | if test "x$qpdf_OS_SECURE_RANDOM" = "x1"; then | 189 | if test "x$qpdf_OS_SECURE_RANDOM" = "x1"; then |
| 149 | OLIBS=$LIBS | 190 | OLIBS=$LIBS |
| 150 | LIBS="$LIBS Advapi32.lib" | 191 | LIBS="$LIBS Advapi32.lib" |