Hija,
I'm currently experiencing heavy troubles to crosscompile glib on a
i386 platform mainly because configure bails out on every try to
run a program on the build platform.
To deal with the problems I'm considering to turn a few runtime checks
into compiletime checks to survive crossplatfom configuration.
Attached is a first patch that deals with stuff the compiler will
figure out and bail out if impossible and thus having the same effect
as a runtime check.
glib has built natively on i386 with the changes and went a bit further
with a handtuned configure for my cross.
Okay, to apply to head with an appropiate changelog entry?
As I next step I'd try to redo the GLIB_SIZEOF macro to work
like the AC_CHECK_SIZEOF one.
--
Servus,
Daniel
--- configure.in.old Fri Jul 12 21:16:50 2002
+++ configure.in Fri Jul 12 21:54:57 2002
@@ -379,12 +379,12 @@
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
glib_save_LIBS=$LIBS
LIBS="$LIBS -lm"
-AC_TRY_RUN([#include <math.h>
+AC_TRY_COMPILE([#include <math.h>
int main (void) { return (log(1) != log(1.)); }],
AC_MSG_RESULT(none needed),
glib_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -std1"
- AC_TRY_RUN([#include <math.h>
+ AC_TRY_COMPILE([#include <math.h>
int main (void) { return (log(1) != log(1.)); }],
AC_MSG_RESULT(-std1),
AC_MSG_RESULT()
@@ -515,7 +515,7 @@
dnl truely know which ones of `inline', `__inline' and `__inline__' are
dnl actually supported.
AC_CACHE_CHECK([for __inline],glib_cv_has__inline,[
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
__inline int foo () { return 0; }
int main () { return foo (); }
],
@@ -528,7 +528,7 @@
xyes) AC_DEFINE(G_HAVE___INLINE,1,[Have __inline keyword])
esac
AC_CACHE_CHECK([for __inline__],glib_cv_has__inline__,[
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
__inline__ int foo () { return 0; }
int main () { return foo (); }
],
@@ -541,7 +541,7 @@
xyes) AC_DEFINE(G_HAVE___INLINE__,1,[Have __inline__ keyword])
esac
AC_CACHE_CHECK([for inline], glib_cv_hasinline,[
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
#undef inline
inline int foo () { return 0; }
int main () { return foo (); }
@@ -811,7 +811,7 @@
dnl we currently check for all three va_copy possibilities, so we get
dnl all results in config.log for bug reports.
AC_CACHE_CHECK([for an implementation of va_copy()],glib_cv_va_copy,[
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
#include <stdarg.h>
void f (int i, ...) {
va_list args1, args2;
@@ -830,7 +830,7 @@
[])
])
AC_CACHE_CHECK([for an implementation of __va_copy()],glib_cv___va_copy,[
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
#include <stdarg.h>
void f (int i, ...) {
va_list args1, args2;
@@ -1242,7 +1242,7 @@
for flag in pthread pthreads; do
glib_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -$flag"
- AC_TRY_RUN([#include <pthread.h>
+ AC_TRY_COMPILE([#include <pthread.h>
int check_me = 0;
void* func(void* data) {return check_me = 42;}
main()
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil