Added support for building with toolchains that don't support symbol aliasing.

git-svn-id: https://shellinabox.googlecode.com/svn/trunk@229 0da03de8-d603-11dd-86c2-0f8696b7b6f9
This commit is contained in:
zodiac@gmail.com 2010-09-29 00:33:44 +00:00
parent 2ea15936f1
commit 412a209218
8 changed files with 50 additions and 6 deletions

View file

@ -1,6 +1,9 @@
/* config.h. Generated from config.h.in by configure. */ /* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */ /* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have support for symbol aliasing */
#define HAVE_ATTRIBUTE_ALIAS 1
/* Set if you want support for calling /bin/login */ /* Set if you want support for calling /bin/login */
#define HAVE_BIN_LOGIN 1 #define HAVE_BIN_LOGIN 1
@ -153,7 +156,7 @@
#define STDC_HEADERS 1 #define STDC_HEADERS 1
/* Most recent revision number in the version control system */ /* Most recent revision number in the version control system */
#define VCS_REVISION "228" #define VCS_REVISION "229"
/* Version number of package */ /* Version number of package */
#define VERSION "2.10" #define VERSION "2.10"

View file

@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.ac by autoheader. */ /* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have support for symbol aliasing */
#undef HAVE_ATTRIBUTE_ALIAS
/* Set if you want support for calling /bin/login */ /* Set if you want support for calling /bin/login */
#undef HAVE_BIN_LOGIN #undef HAVE_BIN_LOGIN

22
configure vendored
View file

@ -2328,7 +2328,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
VCS_REVISION=228 VCS_REVISION=229
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -10766,6 +10766,26 @@ if ac_fn_c_try_link "$LINENO"; then :
$as_echo "#define HAVE_UPDWTMPX 1" >>confdefs.h $as_echo "#define HAVE_UPDWTMPX 1" >>confdefs.h
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void x(void) { };
void y(void) __attribute__((alias("x")));
int
main ()
{
y();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
$as_echo "#define HAVE_ATTRIBUTE_ALIAS 1" >>confdefs.h
fi fi
rm -f core conftest.err conftest.$ac_objext \ rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext conftest$ac_exeext conftest.$ac_ext

View file

@ -2,7 +2,7 @@ AC_PREREQ(2.57)
dnl This is the one location where the authoritative version number is stored dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.10, markus@shellinabox.com) AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
VCS_REVISION=228 VCS_REVISION=229
AC_SUBST(VCS_REVISION) AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}", AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system]) [Most recent revision number in the version control system])
@ -71,6 +71,13 @@ AC_TRY_LINK([#include <utmpx.h>],
[AC_DEFINE(HAVE_UPDWTMPX, 1, [AC_DEFINE(HAVE_UPDWTMPX, 1,
Define to 1 if you have support for updwtmpx)]) Define to 1 if you have support for updwtmpx)])
dnl Check if the compiler supports aliasing of symbols
AC_TRY_LINK([void x(void) { };
void y(void) __attribute__((alias("x")));],
[y();],
[AC_DEFINE(HAVE_ATTRIBUTE_ALIAS, 1,
Define to 1 if you have support for symbol aliasing)])
dnl On some systems, calling /bin/login does not work. Disable the LOGIN dnl On some systems, calling /bin/login does not work. Disable the LOGIN
dnl feature, if the user tells us that it does not do the right thing. dnl feature, if the user tells us that it does not do the right thing.
AC_ARG_ENABLE(login, AC_ARG_ENABLE(login,

View file

@ -2402,7 +2402,7 @@ VT100.prototype.toggleCursorBlinking = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.10 (revision 228)" + alert("VT100 Terminal Emulator " + "2.10 (revision 229)" +
"\nCopyright 2008-2010 by Markus Gutschke\n" + "\nCopyright 2008-2010 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };

View file

@ -180,4 +180,15 @@ char *stringPrintf(char *buf, const char *fmt, ...) {
} }
char *stringPrintfUnchecked(char *buf, const char *fmt, ...) char *stringPrintfUnchecked(char *buf, const char *fmt, ...)
#ifdef HAVE_ATTRIBUTE_ALIAS
__attribute__((alias("stringPrintf"))); __attribute__((alias("stringPrintf")));
#else
{
va_list ap;
va_start(ap, fmt);
char *s = vStringPrintf(buf, fmt, ap);
va_end(ap);
return s;
}
#endif

View file

@ -358,7 +358,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
}; };
ShellInABox.prototype.about = function() { ShellInABox.prototype.about = function() {
alert("Shell In A Box version " + "2.10 (revision 228)" + alert("Shell In A Box version " + "2.10 (revision 229)" +
"\nCopyright 2008-2010 by Markus Gutschke\n" + "\nCopyright 2008-2010 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" + "For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ? (typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?

View file

@ -2402,7 +2402,7 @@ VT100.prototype.toggleCursorBlinking = function() {
}; };
VT100.prototype.about = function() { VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.10 (revision 228)" + alert("VT100 Terminal Emulator " + "2.10 (revision 229)" +
"\nCopyright 2008-2010 by Markus Gutschke\n" + "\nCopyright 2008-2010 by Markus Gutschke\n" +
"For more information check http://shellinabox.com"); "For more information check http://shellinabox.com");
}; };