void-packages/srcpkgs/expect/patches/0004-cross-misc.patch
Đoàn Trần Công Danh 4459113b9d expect: cross compile
2020-04-07 14:48:09 +00:00

195 lines
3.7 KiB
Diff

From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
configure.in | 79 +++++++++++++++++++++-------------------------------
1 file changed, 32 insertions(+), 47 deletions(-)
diff --git configure.in configure.in
index 0e4c9d1..d41a7a4 100755
--- configure.in
+++ configure.in
@@ -732,20 +732,17 @@ fi
# first check for the pure bsd
AC_MSG_CHECKING([for struct sgttyb])
-AC_TRY_RUN([
+AC_COMPILE_IFELSE([
+AC_LANG_PROGRAM([[
#include <sgtty.h>
-main()
-{
+]],[[
struct sgttyb tmp;
- exit(0);
-}],
+]])],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SGTTYB)
PTY_TYPE=sgttyb
,
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
# mach systems have include files for unimplemented features
@@ -757,107 +754,99 @@ if test $mach -eq 0 ; then
# since that just controls which of pty_XXXX.c file is use and
# pty_termios.c is set up to handle pty_termio.
AC_MSG_CHECKING([for struct termio])
- AC_TRY_RUN([#include <termio.h>
- main()
- {
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ #include <termio.h>
+ ]],[[
struct termio tmp;
- exit(0);
- }],
+ ]])],
AC_DEFINE(HAVE_TERMIO)
PTY_TYPE=termios
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
# now check for the new style ttys (not yet posix)
AC_MSG_CHECKING([for struct termios])
- AC_TRY_RUN([
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
/* including termios.h on Solaris 5.6 fails unless inttypes.h included */
# ifdef HAVE_INTTYPES_H
# include <inttypes.h>
# endif
# include <termios.h>
- main()
- {
+ ]],[[
struct termios tmp;
- exit(0);
- }],
+ ]])],
AC_DEFINE(HAVE_TERMIOS)
PTY_TYPE=termios
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
- ,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
fi
AC_MSG_CHECKING([if TCGETS or TCGETA in termios.h])
-AC_TRY_RUN([
+AC_COMPILE_IFELSE([
+AC_LANG_PROGRAM([[
/* including termios.h on Solaris 5.6 fails unless inttypes.h included */
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#include <termios.h>
-main() {
+]],[[
#if defined(TCGETS) || defined(TCGETA)
return 0;
#else
- return 1;
+ #error no TCGETS or TCGETA
#endif
-}],
+]])],
AC_DEFINE(HAVE_TCGETS_OR_TCGETA_IN_TERMIOS_H)
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
AC_MSG_CHECKING([if TIOCGWINSZ in termios.h])
-AC_TRY_RUN([
+AC_COMPILE_IFELSE([
+AC_LANG_PROGRAM([[
/* including termios.h on Solaris 5.6 fails unless inttypes.h included */
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#include <termios.h>
-main() {
+]],[[
#ifdef TIOCGWINSZ
return 0;
#else
- return 1;
+ #error no TIOCGWINSZ
#endif
-}],
+]])],
AC_DEFINE(HAVE_TIOCGWINSZ_IN_TERMIOS_H)
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
# finally check for Cray style ttys
AC_MSG_CHECKING([for Cray-style ptys])
SETUID=":"
-AC_TRY_RUN([
-main(){
+AC_COMPILE_IFELSE([
+AC_LANG_PROGRAM([[
+]],[[
#ifdef CRAY
return 0;
#else
- return 1;
+ #error no CRAY
#endif
-}
+]])
],
PTY_TYPE=unicos
SETUID="chmod u+s"
AC_MSG_RESULT(yes)
,
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
#
@@ -895,21 +884,17 @@ AC_FUNC_SETPGRP
# check for timezones
#
AC_MSG_CHECKING([for SV-style timezone])
-AC_TRY_RUN([
+AC_LINK_IFELSE([
+AC_LANG_PROGRAM([[
extern char *tzname[2];
extern int daylight;
-main()
-{
+]],[[
int *x = &daylight;
char **y = tzname;
-
- exit(0);
-}],
+]])],
AC_DEFINE(HAVE_SV_TIMEZONE)
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
-,
- AC_MSG_ERROR([Expect can't be cross compiled])
)
--
2.26.0.292.g33ef6b2f38