mirror of
https://salsa.debian.org/debian/dash.git
synced 2026-01-26 15:39:05 +00:00
[BUILD] Fixed build on OS X
Hi, Herbert and friends. I've created a small patch that allows dash to be built on Mac OS X. I'm contributing it here with the hope that it's suitable for inclusion in dash. The changes in this patch are: - __attribute__((__alias__())) is not supported, add an autoconf check - open64 is not present although the stat64 family is, separate the autoconf checks - A syntax error had slipped into a non-glibc codepath - mkbuiltins had a nonportable mktemp invocation for the case where tempfile is not availalble Nothing in this patch is actually Mac OS X-specific, so it might aid portability to other platforms as well. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
508d3a2b0e
commit
45d2ed8307
@ -1,3 +1,7 @@
|
||||
2009-01-13 Mark Mentovai <mmentovai@gmail.com>
|
||||
|
||||
* Fixed build on OS X.
|
||||
|
||||
2008-12-26 Aleksey Cheusov <vle@gmx.net>
|
||||
|
||||
* Fixed build on NetBSD.
|
||||
|
||||
15
configure.ac
15
configure.ac
@ -18,6 +18,18 @@ fi
|
||||
AC_MSG_RESULT(${CC_FOR_BUILD})
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
|
||||
AC_MSG_CHECKING([for __attribute__((__alias__()))])
|
||||
dash_cv_have_attribute_alias=no
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([void t() {}
|
||||
void a() __attribute__((__alias__("t")));],
|
||||
[a();])],
|
||||
[dash_cv_have_attribute_alias=yes])
|
||||
AC_MSG_RESULT($dash_cv_have_attribute_alias)
|
||||
if test "x$dash_cv_have_attribute_alias" = xyes; then
|
||||
AC_DEFINE([HAVE_ALIAS_ATTRIBUTE], 1,
|
||||
[Define if __attribute__((__alias__())) is supported])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(static, AS_HELP_STRING(--enable-static, \
|
||||
[Build statical linked program]))
|
||||
if test "$enable_static" = "yes"; then
|
||||
@ -60,6 +72,9 @@ AC_CHECK_FUNC(stat64,, [
|
||||
AC_DEFINE(fstat64, fstat, [64-bit operations are the same as 32-bit])
|
||||
AC_DEFINE(lstat64, lstat, [64-bit operations are the same as 32-bit])
|
||||
AC_DEFINE(stat64, stat, [64-bit operations are the same as 32-bit])
|
||||
])
|
||||
|
||||
AC_CHECK_FUNC(open64,, [
|
||||
AC_DEFINE(open64, open, [64-bit operations are the same as 32-bit])
|
||||
])
|
||||
|
||||
|
||||
10
src/eval.c
10
src/eval.c
@ -326,7 +326,15 @@ exexit:
|
||||
#if !defined(__alpha__) || (defined(__GNUC__) && __GNUC__ >= 3)
|
||||
STATIC
|
||||
#endif
|
||||
void evaltreenr(union node *, int) __attribute__ ((alias("evaltree")));
|
||||
void evaltreenr(union node *n, int flags)
|
||||
#ifdef HAVE_ATTRIBUTE_ALIAS
|
||||
__attribute__ ((alias("evaltree")));
|
||||
#else
|
||||
{
|
||||
evaltree(n, flags);
|
||||
abort();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
STATIC void
|
||||
|
||||
@ -361,7 +361,14 @@ fgcmd(int argc, char **argv)
|
||||
return retval;
|
||||
}
|
||||
|
||||
int bgcmd(int, char **) __attribute__((__alias__("fgcmd")));
|
||||
int bgcmd(int argc, char **argv)
|
||||
#ifdef HAVE_ALIAS_ATTRIBUTE
|
||||
__attribute__((__alias__("fgcmd")));
|
||||
#else
|
||||
{
|
||||
return fgcmd(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
STATIC int
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user