ecl: update to 21.2.1.

Also:
- remove fix-libffi-system.patch (not needed anymore)
- clean-up fix-math_fenv_h.patch
  upstream: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/653#note_675299471
- add long long, int64_t and uint64_t in all the cross_config files;
  compilation fails when long long is enabled in host but disabled in target.
- replace the per-arch cross_config files by a single one, which is
  conditional on $XBPS_TARGET_WORDSIZE and $XBPS_TARGET_ENDIAN.
This commit is contained in:
Gonzalo Tornaría 2021-08-24 18:55:59 -03:00 committed by Érico Nogueira Rolim
parent 30b57944cf
commit 906662e77b
22 changed files with 52 additions and 1257 deletions

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=64
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### aarch64-unknown-linux-gnu
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=64
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### aarch64-unknown-linux-gnu
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### arm-unknown-linux-musleabi
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### i686-pc-linux-musl
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### arm-unknown-linux-gnueabi
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### i686-pc-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### armv7l-unknown-linux-musleabihf
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### armv7l-unknown-linux-musleabihf
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### armv7l-unknown-linux-gnueabihf
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### armv7l-unknown-linux-gnueabihf
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -12,15 +12,28 @@
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
if [ "$XBPS_TARGET_WORDSIZE" = "64" ]; then
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
else
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
fi
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
ECL_BIGENDIAN=no
else
ECL_BIGENDIAN=yes
fi
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### mips-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### mips-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### mips-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### mips-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### i686-pc-linux-musl
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE=int
CL_FIXNUM_BITS=32
CL_FIXNUM_MAX=536870911L
CL_FIXNUM_MIN=-536870912L
CL_INT_BITS=32
CL_LONG_BITS=32
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=no
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=no
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc-unknown-linux-gnu
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### i686-pc-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc64-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-musl
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=yes
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc64-unknown-linux-gnu
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc64le-unknown-linux-musl
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-musl
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,63 +0,0 @@
###
### YOU ARE TRYING TO CROSS COMPILE ECL.
### PLEASE FOLLOW THESE INSTRUCTIONS:
###
### 1) Vital information cannot be determined at configuration time
### because we are not able to run test programs. A file called
###
### has been created, that you will have to fill out. Please do
### it before invoking "configure" again.
### 1.1) Direction of growth of the stack
ECL_STACK_DIR=down
### 1.2) Choose an integer datatype which is large enough to host a pointer
CL_FIXNUM_TYPE="long long int"
CL_FIXNUM_BITS=64
CL_FIXNUM_MAX=2305843009213693951LL
CL_FIXNUM_MIN=-2305843009213693952LL
CL_INT_BITS=32
CL_LONG_BITS=64
### 1.3) Order of bytes within a word
ECL_BIGENDIAN=no
### 1.4) What characters signal an end of line. May be LF (Linefeed or \n)
### CR (Carriage return or \r), and CRLF (CR followed by LF).
ECL_NEWLINE=LF
### 1.5) Can we guess how many characters are available for reading from
### the FILE structure?
### 0 = no
### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr
### 2 = (f)->_r
### 3 = (f)->_cnt
ECL_FILE_CNT=0
###
### 1.6) Other integer types (set to 'no' to disable)
###
ECL_STDINT_HEADER="#include <stdint.h>"
ECL_UINT8_T=uint8_t
ECL_UINT16_T=uint16_t
ECL_UINT32_T=uint32_t
ECL_UINT64_T=uint64_t
ECL_INT8_T=int8_t
ECL_INT16_T=int16_t
ECL_INT32_T=int32_t
ECL_INT64_T=int64_t
ECL_LONG_LONG_BITS=no
###
### 1.7) Other features (set to 'no' to disable)
###
ECL_WORKING_ENVIRON=yes
### 2) To cross-compile ECL so that it runs on the system
### powerpc64le-unknown-linux-gnu
### you need to first compile ECL on the system in which you are building
### the cross-compiled files, that is
### x86_64-unknown-linux-gnu
### By default we assume that ECL can be accessed from some directory in
### the path.
ECL_TO_RUN=/usr/bin/ecl

View file

@ -1,16 +0,0 @@
Source: @pullmoll
Upstream: no
Reason: ffitarget.h no longer defines FFI_SYSV for *nix
--- a/src/c/ffi.d 2016-12-19 11:25:00.000000000 +0100
+++ b/src/c/ffi.d 2020-04-25 13:29:05.385149890 +0200
@@ -133,8 +133,6 @@
#elif defined(X86_WIN64)
{@':win64', FFI_WIN64},
-#elif defined(X86_ANY) || defined(X86) || defined(X86_64)
- {@':cdecl', FFI_SYSV},
- {@':sysv', FFI_SYSV},
+#elif defined(X86_64)
{@':unix64', FFI_UNIX64},
#endif
};

View file

@ -1,99 +1,31 @@
Source: @pullmoll
Upstream: no
Upstream: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/653#note_675299471
Reason: Some architectures do not define all of the FE_.. constants
Example: mips-musl needs this
--- a/src/h/impl/math_fenv.h 2016-12-19 11:25:00.000000000 +0100
+++ b/src/h/impl/math_fenv.h 2020-04-25 15:36:04.984693324 +0200
@@ -67,8 +67,27 @@
#endif /* !HAVE_FENV_H */
#if defined(HAVE_FENV_H) && !defined(HAVE_FEENABLEEXCEPT) && !defined(ECL_AVOID_FPE_H)
-# define ECL_USED_EXCEPTIONS (FE_DIVBYZERO|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW)
-# define ECL_MATHERR_CLEAR feclearexcept(FE_ALL_EXCEPT)
+#if !defined(FE_DIVBYZERO)
+#define FE_DIVBYZERO 0
+#endif
+#if !defined(FE_INVALID)
+#define FE_INVALID 0
+#endif
+#if !defined(FE_OVERFLOW)
+#define FE_OVERFLOW 0
+#endif
+#if !defined(FE_UNDERFLOW)
+#define FE_UNDERFLOW 0
+#endif
+#if !defined(FE_INEXACT)
+#define FE_INEXACT 0
+#endif
+#if !defined(FE_ALL_EXCEPT)
+#define FE_ALL_EXCEPT 0
+#endif
+
+# define ECL_USED_EXCEPTIONS (FE_DIVBYZERO|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW)
+# define ECL_MATHERR_CLEAR feclearexcept(FE_ALL_EXCEPT)
# define ECL_MATHERR_TEST do { \
int bits = fetestexcept(ECL_USED_EXCEPTIONS); \
unlikely_if (bits) ecl_deliver_fpe(bits); } while(0)
--- a/src/c/unixint.d 2016-12-19 11:25:00.000000000 +0100
+++ b/src/c/unixint.d 2020-04-25 15:57:15.864783964 +0200
@@ -655,22 +655,36 @@
#else /* !_MSC_VER */
# if defined(HAVE_FENV_H) & !defined(ECL_AVOID_FENV_H)
code = fetestexcept(FE_ALL_EXCEPT);
+#if defined(FE_DIVBYZERO)
if (code & FE_DIVBYZERO) {
condition = @'division-by-zero';
code = FE_DIVBYZERO;
- } else if (code & FE_INVALID) {
+ } else
+#endif
+#if defined(FE_INVALID)
+ if (code & FE_INVALID) {
condition = @'floating-point-invalid-operation';
code = FE_INVALID;
- } else if (code & FE_OVERFLOW) {
+ } else
+#endif
+#if defined(FE_OVERFLOW)
+ if (code & FE_OVERFLOW) {
condition = @'floating-point-overflow';
code = FE_OVERFLOW;
- } else if (code & FE_UNDERFLOW) {
+ } else
+#endif
+#if defined(FE_UNDERFLOW)
+ if (code & FE_UNDERFLOW) {
condition = @'floating-point-underflow';
code = FE_UNDERFLOW;
- } else if (code & FE_INEXACT) {
+ } else
+#endif
+#if defined(FE_INEXACT)
+ if (code & FE_INEXACT) {
condition = @'floating-point-inexact';
code = FE_INEXACT;
}
+#endif
feclearexcept(FE_ALL_EXCEPT);
# endif
#endif /* !_MSC_VER */
@@ -1160,7 +1174,19 @@
{
cl_env_ptr the_env = ecl_process_env();
#ifndef FE_ALL_EXCEPT
+#if !defined(FE_DIVBYZERO)
+#define FE_DIVBYZERO 0
+#endif
+#if !defined(FE_OVERFLOW)
+#define FE_OVERFLOW 0
+#endif
+#if !defined(FE_UNDERFLOW)
+#define FE_UNDERFLOW 0
+#endif
+#if !defined(FE_INVALID)
+#define FE_INVALID 0
+#endif
# define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID
#endif
const int all = FE_ALL_EXCEPT;
int bits = 0;
diff --git a/src/h/impl/math_fenv.h b/src/h/impl/math_fenv.h
index ea13d87b4..2afbb9549 100644
--- a/src/h/impl/math_fenv.h
+++ b/src/h/impl/math_fenv.h
@@ -55,6 +55,21 @@
#ifdef HAVE_FENV_H
# define ECL_WITHOUT_FPE_BEGIN do { fenv_t env; feholdexcept(&env);
# define ECL_WITHOUT_FPE_END fesetenv(&env); } while (0)
+# if !defined(FE_DIVBYZERO)
+# define FE_DIVBYZERO 0
+# endif
+# if !defined(FE_INVALID)
+# define FE_INVALID 0
+# endif
+# if !defined(FE_OVERFLOW)
+# define FE_OVERFLOW 0
+# endif
+# if !defined(FE_UNDERFLOW)
+# define FE_UNDERFLOW 0
+# endif
+# if !defined(FE_INEXACT)
+# define FE_INEXACT 0
+# endif
#else
# define FE_INVALID 1
# define FE_DIVBYZERO 2

View file

@ -1,7 +1,7 @@
# Template file for 'ecl'
pkgname=ecl
version=16.1.3
revision=2
version=21.2.1
revision=1
build_style=gnu-configure
configure_args="--enable-gmp=system --enable-boehm=system
--enable-libatomic=system --with-dffi=system"
@ -13,10 +13,10 @@ maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
license="LGPL-2.1-or-later"
homepage="https://common-lisp.net/project/ecl/"
distfiles="https://common-lisp.net/project/ecl/static/files/release/ecl-${version}.tgz"
checksum=76a585c616e8fa83a6b7209325a309da5bc0ca68e0658f396f49955638111254
checksum=b15a75dcf84b8f62e68720ccab1393f9611c078fcd3afdd639a1086cad010900
if [ "$CROSS_BUILD" ]; then
# Depend on system ecl
hostmakedepends+=" ecl"
configure_args+=" --with-cross-config=${XBPS_SRCPKGDIR}/ecl/files/${XBPS_TARGET_MACHINE}.conf"
configure_args+=" --with-cross-config=${XBPS_SRCPKGDIR}/ecl/files/cross_config"
fi