Commit 7c1e0a2abe12aa8b2312960a39222bff61daedca

Authored by Jay Berkenbilt
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"