modified dll/win32/kernel32/misc/lang.c
[reactos.git] / reactos / lib / 3rdparty / icu4ros / icu / source / aclocal.m4
1 dnl aclocal.m4 for ICU
2 dnl Copyright (c) 1999-2007, International Business Machines Corporation and
3 dnl others. All Rights Reserved.
4 dnl Stephen F. Booth
5
6 dnl @TOP@
7
8 dnl ICU_CHECK_MH_FRAG
9 AC_DEFUN(ICU_CHECK_MH_FRAG, [
10 AC_CACHE_CHECK(
11 [which Makefile fragment to use],
12 [icu_cv_host_frag],
13 [
14 case "${host}" in
15 *-*-solaris*)
16 if test "$GCC" = yes; then
17 icu_cv_host_frag=mh-solaris-gcc
18 else
19 icu_cv_host_frag=mh-solaris
20 fi ;;
21 alpha*-*-linux-gnu)
22 if test "$GCC" = yes; then
23 icu_cv_host_frag=mh-alpha-linux-gcc
24 else
25 icu_cv_host_frag=mh-alpha-linux-cc
26 fi ;;
27 powerpc*-*-linux*)
28 if test "$GCC" = yes; then
29 icu_cv_host_frag=mh-linux
30 else
31 icu_cv_host_frag=mh-linux-va
32 fi ;;
33 *-*-linux*|*-pc-gnu) icu_cv_host_frag=mh-linux ;;
34 *-*-cygwin|*-*-mingw32)
35 if test "$GCC" = yes; then
36 AC_TRY_COMPILE([
37 #ifndef __MINGW32__
38 #error This is not MinGW
39 #endif], [], icu_cv_host_frag=mh-mingw, icu_cv_host_frag=mh-cygwin)
40 else
41 icu_cv_host_frag=mh-cygwin-msvc
42 fi ;;
43 *-*-*bsd*|*-*-dragonfly*) icu_cv_host_frag=mh-bsd-gcc ;;
44 *-*-aix*)
45 if test "$GCC" = yes; then
46 icu_cv_host_frag=mh-aix-gcc
47 else
48 icu_cv_host_frag=mh-aix-va
49 fi ;;
50 *-*-hpux*)
51 if test "$GCC" = yes; then
52 icu_cv_host_frag=mh-hpux-gcc
53 else
54 case "$CXX" in
55 *aCC) icu_cv_host_frag=mh-hpux-acc ;;
56 esac
57 fi ;;
58 *-*ibm-openedition*|*-*-os390*) icu_cv_host_frag=mh-os390 ;;
59 *-*-os400*) icu_cv_host_frag=mh-os400 ;;
60 *-apple-rhapsody*) icu_cv_host_frag=mh-darwin ;;
61 *-apple-darwin*) icu_cv_host_frag=mh-darwin ;;
62 *-*-beos) icu_cv_host_frag=mh-beos ;;
63 *-*-irix*) icu_cv_host_frag=mh-irix ;;
64 *-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;;
65 *-*-nto*) icu_cv_host_frag=mh-qnx ;;
66 *-ncr-*) icu_cv_host_frag=mh-mpras ;;
67 *) icu_cv_host_frag=mh-unknown ;;
68 esac
69 ]
70 )
71 ])
72
73 dnl ICU_CONDITIONAL - similar example taken from Automake 1.4
74 AC_DEFUN(ICU_CONDITIONAL,
75 [AC_SUBST($1_TRUE)
76 if $2; then
77 $1_TRUE=
78 else
79 $1_TRUE='#'
80 fi])
81
82 dnl ICU_PROG_LINK - Make sure that the linker is usable
83 AC_DEFUN(ICU_PROG_LINK,
84 [
85 case "${host}" in
86 *-*-cygwin*|*-*-mingw*)
87 if test "$GCC" != yes && test -n "`link --version 2>&1 | grep 'GNU coreutils'`"; then
88 AC_MSG_ERROR([link.exe is not a valid linker. Your PATH is incorrect.
89 Please follow the directions in ICU's readme.])
90 fi;;
91 *);;
92 esac])
93
94 dnl AC_SEARCH_LIBS_FIRST(FUNCTION, SEARCH-LIBS [, ACTION-IF-FOUND
95 dnl [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
96 dnl Search for a library defining FUNC, then see if it's not already available.
97
98 AC_DEFUN(AC_SEARCH_LIBS_FIRST,
99 [AC_PREREQ([2.13])
100 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
101 [ac_func_search_save_LIBS="$LIBS"
102 ac_cv_search_$1="no"
103 for i in $2; do
104 LIBS="-l$i $5 $ac_func_search_save_LIBS"
105 AC_TRY_LINK_FUNC([$1],
106 [ac_cv_search_$1="-l$i"
107 break])
108 done
109 if test "$ac_cv_search_$1" = "no"; then
110 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"])
111 fi
112 LIBS="$ac_func_search_save_LIBS"])
113 if test "$ac_cv_search_$1" != "no"; then
114 test "$ac_cv_search_$1" = "none required" || LIBS="$ac_cv_search_$1 $LIBS"
115 $3
116 else :
117 $4
118 fi])
119
120 dnl Check if we can build and use 64-bit libraries
121 AC_DEFUN(AC_CHECK_64BIT_LIBS,
122 [
123 AC_ARG_ENABLE(64bit-libs,
124 [ --enable-64bit-libs build 64-bit libraries [default=yes]],
125 [ENABLE_64BIT_LIBS=${enableval}],
126 [ENABLE_64BIT_LIBS=yes]
127 )
128 dnl These results can't be cached because is sets compiler flags.
129 AC_MSG_CHECKING([for 64-bit executable support])
130 if test "$ENABLE_64BIT_LIBS" != no; then
131 if test "$GCC" = yes; then
132 dnl First we check that gcc already compiles as 64-bit
133 if test -n "`$CXX -dumpspecs 2>&1 && $CC -dumpspecs 2>&1 | grep -v __LP64__`"; then
134 ENABLE_64BIT_LIBS=yes
135 else
136 dnl Now we check a little more forcefully.
137 dnl Maybe the compiler builds as 32-bit on a 64-bit machine.
138 OLD_CFLAGS="${CFLAGS}"
139 OLD_CXXFLAGS="${CXXFLAGS}"
140 CFLAGS="${CFLAGS} -m64"
141 CXXFLAGS="${CXXFLAGS} -m64"
142 AC_TRY_RUN(int main(void) {return 0;},
143 ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
144 if test "$ENABLE_64BIT_LIBS" = no; then
145 # Nope. We're on a 32-bit machine with a 32-bit compiler.
146 CFLAGS="${OLD_CFLAGS}"
147 CXXFLAGS="${OLD_CXXFLAGS}"
148 fi
149 fi
150 else
151 case "${host}" in
152 sparc*-*-solaris*)
153 SPARCV9=`isainfo -n 2>&1 | grep sparcv9`
154 SOL64=`$CXX -xarch=v9 2>&1 && $CC -xarch=v9 2>&1 | grep -v usage:`
155 if test -z "$SOL64" && test -n "$SPARCV9"; then
156 CFLAGS="${CFLAGS} -xtarget=ultra -xarch=v9"
157 CXXFLAGS="${CXXFLAGS} -xtarget=ultra -xarch=v9"
158 LDFLAGS="${LDFLAGS} -xtarget=ultra -xarch=v9"
159 ENABLE_64BIT_LIBS=yes
160 else
161 ENABLE_64BIT_LIBS=no
162 fi
163 ;;
164 i386-*-solaris*)
165 AMD64=`isainfo -n 2>&1 | grep amd64`
166 # The new compiler option
167 SOL64=`$CXX -m64 2>&1 && $CC -m64 2>&1 | grep -v usage:`
168 if test -z "$SOL64" && test -n "$AMD64"; then
169 CFLAGS="${CFLAGS} -m64"
170 CXXFLAGS="${CXXFLAGS} -m64"
171 ENABLE_64BIT_LIBS=yes
172 else
173 # The older compiler option
174 SOL64=`$CXX -xtarget=generic64 2>&1 && $CC -xtarget=generic64 2>&1 | grep -v usage:`
175 if test -z "$SOL64" && test -n "$AMD64"; then
176 CFLAGS="${CFLAGS} -xtarget=generic64"
177 CXXFLAGS="${CXXFLAGS} -xtarget=generic64"
178 ENABLE_64BIT_LIBS=yes
179 else
180 ENABLE_64BIT_LIBS=no
181 fi
182 fi
183 ;;
184 ia64-*-linux*)
185 # check for ecc/ecpc compiler support
186 if test -n "`$CXX --help 2>&1 && $CC --help 2>&1 | grep -v Intel`"; then
187 if test -n "`$CXX --help 2>&1 && $CC --help 2>&1 | grep -v Itanium`"; then
188 ENABLE_64BIT_LIBS=yes
189 else
190 ENABLE_64BIT_LIBS=no
191 fi
192 else
193 # unknown
194 ENABLE_64BIT_LIBS=no
195 fi
196 ;;
197 *-*-cygwin)
198 dnl vcvarsamd64.bat should have been used to enable 64-bit builds.
199 dnl We only do this check to display the correct answer.
200 if test -n "`$CXX -help 2>&1 | grep 'for x64'`"; then
201 ENABLE_64BIT_LIBS=yes
202 else
203 # unknown
204 ENABLE_64BIT_LIBS=no
205 fi
206 ;;
207 *-*-aix*|powerpc64-*-linux*)
208 OLD_CFLAGS="${CFLAGS}"
209 OLD_CXXFLAGS="${CXXFLAGS}"
210 OLD_LDFLAGS="${LDFLAGS}"
211 CFLAGS="${CFLAGS} -q64"
212 CXXFLAGS="${CXXFLAGS} -q64"
213 LDFLAGS="${LDFLAGS} -q64"
214 AC_TRY_RUN(int main(void) {return 0;},
215 ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
216 if test "$ENABLE_64BIT_LIBS" = no; then
217 CFLAGS="${OLD_CFLAGS}"
218 CXXFLAGS="${OLD_CXXFLAGS}"
219 LDFLAGS="${OLD_LDFLAGS}"
220 else
221 case "${host}" in
222 *-*-aix*)
223 ARFLAGS="${ARFLAGS} -X64"
224 esac
225 fi
226 ;;
227 *-*-hpux*)
228 dnl First we try the newer +DD64, if that doesn't work,
229 dnl try other options.
230
231 OLD_CFLAGS="${CFLAGS}"
232 OLD_CXXFLAGS="${CXXFLAGS}"
233 CFLAGS="${CFLAGS} +DD64"
234 CXXFLAGS="${CXXFLAGS} +DD64"
235 AC_TRY_RUN(int main(void) {return 0;},
236 ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
237 if test "$ENABLE_64BIT_LIBS" = no; then
238 CFLAGS="${OLD_CFLAGS}"
239 CXXFLAGS="${OLD_CXXFLAGS}"
240 CFLAGS="${CFLAGS} +DA2.0W"
241 CXXFLAGS="${CXXFLAGS} +DA2.0W"
242 AC_TRY_RUN(int main(void) {return 0;},
243 ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
244 if test "$ENABLE_64BIT_LIBS" = no; then
245 CFLAGS="${OLD_CFLAGS}"
246 CXXFLAGS="${OLD_CXXFLAGS}"
247 fi
248 fi
249 ;;
250 *-*ibm-openedition*|*-*-os390*)
251 OLD_CFLAGS="${CFLAGS}"
252 OLD_CXXFLAGS="${CXXFLAGS}"
253 OLD_LDFLAGS="${LDFLAGS}"
254 CFLAGS="${CFLAGS} -Wc,lp64"
255 CXXFLAGS="${CXXFLAGS} -Wc,lp64"
256 LDFLAGS="${LDFLAGS} -Wl,lp64"
257 AC_TRY_RUN(int main(void) {return 0;},
258 ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=no)
259 if test "$ENABLE_64BIT_LIBS" = no; then
260 CFLAGS="${OLD_CFLAGS}"
261 CXXFLAGS="${OLD_CXXFLAGS}"
262 LDFLAGS="${OLD_LDFLAGS}"
263 fi
264 ;;
265 *)
266 ENABLE_64BIT_LIBS=no
267 ;;
268 esac
269 fi
270 else
271 if test "$GCC" = yes; then
272 OLD_CFLAGS="${CFLAGS}"
273 OLD_CXXFLAGS="${CXXFLAGS}"
274 CFLAGS="${CFLAGS} -m32"
275 CXXFLAGS="${CXXFLAGS} -m32"
276 AC_TRY_RUN(int main(void) {return 0;},
277 ENABLE_64BIT_LIBS=no, ENABLE_64BIT_LIBS=yes, ENABLE_64BIT_LIBS=yes)
278 if test "$ENABLE_64BIT_LIBS" = yes; then
279 CFLAGS="${OLD_CFLAGS}"
280 CXXFLAGS="${OLD_CXXFLAGS}"
281 fi
282 fi
283 fi
284 dnl Individual tests that fail should reset their own flags.
285 AC_MSG_RESULT($ENABLE_64BIT_LIBS)
286 ])
287
288 dnl Strict compilation options.
289 AC_DEFUN(AC_CHECK_STRICT_COMPILE,
290 [
291 AC_MSG_CHECKING([whether strict compiling is on])
292 AC_ARG_ENABLE(strict,[ --enable-strict compile with strict compiler options [default=no]], [
293 if test "$enableval" = no
294 then
295 ac_use_strict_options=no
296 else
297 ac_use_strict_options=yes
298 fi
299 ], [ac_use_strict_options=no])
300 AC_MSG_RESULT($ac_use_strict_options)
301
302 if test "$ac_use_strict_options" = yes
303 then
304 if test "$GCC" = yes
305 then
306 CFLAGS="$CFLAGS -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long"
307 case "${host}" in
308 *-*-solaris*)
309 CFLAGS="$CFLAGS -D__STDC__=0";;
310 esac
311 else
312 case "${host}" in
313 *-*-cygwin)
314 if test "`$CC /help 2>&1 | head -c9`" = "Microsoft"
315 then
316 CFLAGS="$CFLAGS /W4"
317 fi
318 esac
319 fi
320 if test "$GXX" = yes
321 then
322 CXXFLAGS="$CXXFLAGS -W -Wall -ansi -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
323 case "${host}" in
324 *-*-solaris*)
325 CXXFLAGS="$CXXFLAGS -D__STDC__=0";;
326 esac
327 else
328 case "${host}" in
329 *-*-cygwin)
330 if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft"
331 then
332 CXXFLAGS="$CXXFLAGS /W4"
333 fi
334 esac
335 fi
336 fi
337 ])
338
339