beta-0.89.2
[luatex.git] / source / m4 / kpse-win32.m4
blob8893ceb68c081f170e0c22ba18a600503734b90d
1 # Public macros for the TeX Live (TL) tree.
2 # Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
4 # This file is free software; the copyright holder
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
8 # KPSE_CHECK_WIN32
9 # ----------------
10 # Check for WIN32 and distinguish between MINGW32 and native.
11 AC_DEFUN([KPSE_CHECK_WIN32], [dnl
12 AC_CACHE_CHECK([for native WIN32 or MINGW32],
13                [kpse_cv_have_win32],
14                [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifndef WIN32
15   choke me
16 #endif]])],
17                                   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifndef __MINGW32__
18   choke me
19 #endif]])],
20                                                      [kpse_cv_have_win32=mingw32],
21                                                      [kpse_cv_have_win32=native])],
22                                   [kpse_cv_have_win32=no])])
23 ]) # KPSE_CHECK_WIN32
25 # KPSE_COND_WIN32
26 # ---------------
27 # Define the conditional WIN32.
28 AC_DEFUN([KPSE_COND_WIN32], [dnl
29 AC_REQUIRE([KPSE_CHECK_WIN32])[]dnl
30 AM_CONDITIONAL([WIN32], [test "x$kpse_cv_have_win32" != xno])
31 ]) # KPSE_COND_WIN32
33 # KPSE_COND_MINGW32
34 # -----------------
35 # Define the conditionals WIN32 and MINGW32.
36 AC_DEFUN([KPSE_COND_MINGW32], [dnl
37 AC_REQUIRE([KPSE_COND_WIN32])[]dnl
38 AM_CONDITIONAL([MINGW32], [test "x$kpse_cv_have_win32" = xmingw32])
39 ]) # KPSE_COND_MINGW32
41 # KPSE_COND_WIN32_WRAP
42 # --------------------
43 # Define the conditionals WIN32 and WIN32_WRAP.
44 AC_DEFUN([KPSE_COND_WIN32_WRAP], [dnl
45 AC_REQUIRE([KPSE_COND_WIN32])[]dnl
46 AC_CACHE_CHECK([for WIN64],
47                [kpse_cv_have_win64],
48                [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifndef _WIN64
49   choke me 
50 #endif]])],
51                                   [kpse_cv_have_win64=yes],
52                                   [kpse_cv_have_win64=no])])
53 AS_CASE([$kpse_cv_have_win64],
54         [yes], [WIN_WRAPPER=w64_wrapper],
55                [WIN_WRAPPER=w32_wrapper])
56 AC_SUBST([WIN_WRAPPER])
57 AM_CONDITIONAL([WIN32_WRAP],
58                [test -r "$srcdir/../../texk/texlive/$WIN_WRAPPER/runscript.exe"])
59 ]) # KPSE_COND_WIN32_WRAP
61 # KPSE_WIN32_CALL
62 # ---------------
63 # Create a callexe.c symlink.
64 AC_DEFUN([KPSE_WIN32_CALL], [dnl
65 AC_REQUIRE([KPSE_COND_WIN32])[]dnl
66 AM_CONDITIONAL([WIN32_CALL],
67                [test -r "$srcdir/../texlive/w32_wrapper/callexe.c"])
68 AM_COND_IF([WIN32],
69            [AC_CONFIG_LINKS([callexe.c:../texlive/w32_wrapper/callexe.c])])
70 ]) # KPSE_WIN32_CALL
72 # KPSE_DO_IF_WIN32(COMMAND)
73 # -------------------------
74 # Execute COMMAND, if Windows.
75 AC_DEFUN([KPSE_DO_IF_WIN32], [dnl
76 AC_REQUIRE([KPSE_CHECK_WIN32])[]dnl
77 AS_IF([test "x$kpse_cv_have_win32" != xno], [$1])
78 ]) # KPSE_DO_IF_WIN32