Hello,

We cannot compile ecl for android on MacOSX, because *nm* is used by gmp configure instead of
$PLATFORM_PREFIX/bin/arm-linux-androideabi-nm

With NM=$PLATFORM_PREFIX/bin/arm-linux-androideabi-nm in ecl/src/configure:5630, it passes:
checking how to define a 32-bit word... .long
but I'm not sure it's correct to hard wire this NM in ecl/src/configure; isn't it generated from
autoconf?

Well, configure passes, but then:

;;;   Invoking external command:
;;; arm-linux-androideabi-gcc -I. -I/Users/pjb/src/android/ecl/build/ -DECL_API -I/Users/pjb/src/android/ecl/build/c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC -D_THREAD_SAFE -Dandroid -I/Users/pjb/src/android/ecl/src/c -c lsp/predlib.c -o lsp/predlib.o In file included from ./ecl/ecl.h:82:0,
                 from ./ecl/ecl-cmp.h:29,
                 from lsp/predlib.c:3:
lsp/predlib.c: In function 'si_long_float_p':
lsp/predlib.c:1067:42: error: 't_longfloat' undeclared (first use in this function)
   value0 = ecl_make_bool(type_of(v1x) == t_longfloat);
                                          ^
./ecl/object.h:126:28: note: in definition of macro 'ecl_make_bool'
 #define ecl_make_bool(x) ((x)? ECL_T : ECL_NIL)
                            ^
lsp/predlib.c:1067:42: note: each undeclared identifier is reported only once for each function it appears in
   value0 = ecl_make_bool(type_of(v1x) == t_longfloat);
                                          ^
./ecl/object.h:126:28: note: in definition of macro 'ecl_make_bool'
 #define ecl_make_bool(x) ((x)? ECL_T : ECL_NIL)
                            ^
lsp/predlib.c: In function 'cl_coerce':
lsp/predlib.c:2194:14: warning: assignment makes pointer from integer without a cast [enabled by default]
       value0 = ecl_make_long_float(ecl_to_long_double(v12c__value));
              ^

It seems :long-float is put on *feature* when it should not.





It should also be noted that Android is transitionning to 64-bit too, (and iOS already only accepts applications in the AppStore only if they include 64-bit binaries).

https://source.android.com/source/64-bit-builds.html

--
__Pascal J. Bourguignon__
http://www.informatimago.com/


Reply via email to