]>
Commit | Line | Data |
---|---|---|
1fd5e000 | 1 | dnl Autoconf configure script for Cygwin. |
1fd5e000 CF |
2 | dnl |
3 | dnl This file is part of Cygwin. | |
4 | dnl | |
5 | dnl This software is a copyrighted work licensed under the terms of the | |
6 | dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
7 | dnl details. | |
8 | dnl | |
9 | dnl Process this file with autoconf to produce a configure script. | |
10 | ||
cf41355a | 11 | AC_PREREQ([2.59]) |
dc93f7ef | 12 | AC_INIT([Cygwin],[0],[cygwin@cygwin.com],[cygwin],[https://cygwin.com]) |
4c36016b | 13 | AC_CONFIG_AUX_DIR(..) |
247ce0ca | 14 | AC_CANONICAL_TARGET |
a1ee8a0f | 15 | AM_INIT_AUTOMAKE([foreign no-define no-dist subdir-objects -Wall -Wno-portability -Wno-extra-portability]) |
247ce0ca | 16 | AM_SILENT_RULES([yes]) |
1fd5e000 | 17 | |
dc93f7ef JT |
18 | realdirpath() { |
19 | test -z "$1" && return 1 | |
20 | (cd "$1" 2>/dev/null && pwd) | |
21 | if test $? -ne 0; then | |
22 | return 1 | |
23 | else | |
24 | return 0 | |
25 | fi | |
26 | } | |
27 | ||
28 | winsup_srcdir="$(realdirpath $srcdir)" | |
29 | target_builddir="$(realdirpath ..)" | |
4c36016b | 30 | |
4c36016b | 31 | AC_NO_EXECUTABLES |
1fd5e000 | 32 | |
247ce0ca JT |
33 | AC_PROG_INSTALL |
34 | AC_PROG_MKDIR_P | |
4c36016b CF |
35 | AC_PROG_CC |
36 | AC_PROG_CXX | |
37 | AC_PROG_CPP | |
247ce0ca JT |
38 | AM_PROG_AS |
39 | ||
4c36016b CF |
40 | AC_LANG(C) |
41 | AC_LANG(C++) | |
99fc5e10 | 42 | |
dc93f7ef JT |
43 | AC_ARG_WITH([cross-bootstrap],[AS_HELP_STRING([--with-cross-bootstrap],[do not build programs using the MinGW toolchain or check for MinGW libraries (useful for bootstrapping a cross-compiler)])],[],[with_cross_bootstrap=no]) |
44 | ||
4c36016b | 45 | AC_CYGWIN_INCLUDES |
7e5d0e9f | 46 | |
366e43a3 | 47 | AC_CONFIG_HEADERS([cygwin/config.h]) |
dc93f7ef JT |
48 | |
49 | AC_CHECK_TOOL(AR, ar, ar) | |
50 | AC_CHECK_TOOL(AS, as, as) | |
51 | AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool) | |
52 | AC_CHECK_TOOL(LD, ld, ld) | |
53 | AC_CHECK_TOOL(NM, nm, nm) | |
54 | AC_CHECK_TOOL(OBJCOPY, objcopy, objcopy) | |
55 | AC_CHECK_TOOL(OBJDUMP, objdump, objdump) | |
56 | AC_CHECK_TOOL(RANLIB, ranlib, ranlib) | |
57 | AC_CHECK_TOOL(STRIP, strip, strip) | |
58 | AC_CHECK_TOOL(WINDRES, windres, windres) | |
59 | ||
60 | AC_ARG_ENABLE(debugging, | |
90950758 | 61 | [AS_HELP_STRING([--enable-debugging],[Build a cygwin DLL which has more consistency checking for debugging])], |
dc93f7ef JT |
62 | [case "${enableval}" in |
63 | yes) AC_DEFINE([DEBUGGING],[1],[Define if DEBUGGING support is requested.]) ;; | |
64 | no) ;; | |
65 | esac | |
66 | ]) | |
67 | ||
c0d5bb26 | 68 | DLL_ENTRY="dll_entry" |
c0d5bb26 | 69 | |
dc93f7ef | 70 | case "$target_cpu" in |
c0d5bb26 | 71 | x86_64) ;; |
dc93f7ef JT |
72 | *) AC_MSG_ERROR([Invalid target processor "$target_cpu"]) ;; |
73 | esac | |
74 | ||
75 | AC_SUBST(DLL_ENTRY) | |
dc93f7ef | 76 | |
247ce0ca JT |
77 | AM_CONDITIONAL(TARGET_X86_64, [test $target_cpu = "x86_64"]) |
78 | ||
f4a26ece | 79 | AC_ARG_ENABLE(doc, |
4a7461a0 | 80 | [AS_HELP_STRING([--disable-doc], [do not build documentation])],, |
f4a26ece JT |
81 | enable_doc=yes) |
82 | AM_CONDITIONAL(BUILD_DOC, [test $enable_doc != "no"]) | |
83 | ||
84 | AC_CHECK_PROGS([DOCBOOK2XTEXI], [docbook2x-texi db2x_docbook2texi]) | |
85 | if test -z "$DOCBOOK2XTEXI" ; then | |
86 | if test "x$enable_doc" != "xno"; then | |
87 | AC_MSG_ERROR([docbook2texi is required to build documentation]) | |
88 | else | |
89 | unset DOCBOOK2XTEXI | |
90 | AM_MISSING_PROG([DOCBOOK2XTEXI], [docbook2texi]) | |
91 | fi | |
92 | fi | |
93 | ||
94 | AC_CHECK_PROGS([XMLTO], [xmlto]) | |
95 | if test -z "$XMLTO"; then | |
96 | if test "x$enable_doc" != "xno"; then | |
97 | AC_MSG_ERROR([xmlto is required to build documentation]) | |
98 | else | |
99 | unset XMLTO | |
100 | AM_MISSING_PROG([XMLTO], [xmlto]) | |
101 | fi | |
102 | fi | |
dc93f7ef | 103 | |
e7e61192 | 104 | if test "x$with_cross_bootstrap" != "xyes"; then |
dc93f7ef JT |
105 | AC_CHECK_PROGS(MINGW_CXX, ${target_cpu}-w64-mingw32-g++) |
106 | test -n "$MINGW_CXX" || AC_MSG_ERROR([no acceptable MinGW g++ found in \$PATH]) | |
107 | AC_CHECK_PROGS(MINGW_CC, ${target_cpu}-w64-mingw32-gcc) | |
108 | test -n "$MINGW_CC" || AC_MSG_ERROR([no acceptable MinGW gcc found in \$PATH]) | |
cf41355a | 109 | fi |
247ce0ca JT |
110 | AM_CONDITIONAL(CROSS_BOOTSTRAP, [test "x$with_cross_bootstrap" != "xyes"]) |
111 | ||
dc93f7ef JT |
112 | AC_EXEEXT |
113 | ||
1b5fc91a JT |
114 | AC_ARG_ENABLE([dumper], |
115 | [AS_HELP_STRING([--disable-dumper], [do not build the 'dumper' utility])], | |
116 | [build_dumper=$enableval], | |
117 | [build_dumper=yes]) | |
247ce0ca | 118 | |
1b5fc91a | 119 | AM_CONDITIONAL(BUILD_DUMPER, [test "x$build_dumper" = "xyes"]) |
247ce0ca | 120 | |
1387ea9f JT |
121 | # libbfd.a doesn't have a pkgconfig file, so we guess what it's dependencies |
122 | # are, based on what's present in the build environment | |
123 | BFD_LIBS="-lintl -liconv -liberty -lz" | |
124 | AC_CHECK_LIB([sframe], [sframe_decode], [BFD_LIBS="${BFD_LIBS} -lsframe"]) | |
125 | AC_CHECK_LIB([zstd], [ZSTD_isError], [BFD_LIBS="${BFD_LIBS} -lzstd"]) | |
126 | AC_SUBST([BFD_LIBS]) | |
89f930a9 | 127 | |
dc93f7ef JT |
128 | AC_CONFIG_FILES([ |
129 | Makefile | |
130 | cygwin/Makefile | |
131 | cygserver/Makefile | |
132 | doc/Makefile | |
133 | utils/Makefile | |
247ce0ca | 134 | utils/mingw/Makefile |
dc93f7ef | 135 | testsuite/Makefile |
daeeaa97 | 136 | testsuite/mingw/Makefile |
dc93f7ef | 137 | ]) |
cf41355a | 138 | |
cf41355a | 139 | AC_OUTPUT |