From c785cfd34ef909149a21f4d29201be1f9761471b Mon Sep 17 00:00:00 2001 From: Thomas Batten Date: Sat, 22 Dec 2018 10:33:06 +1030 Subject: [PATCH] common: Add ppc target --- common/build-style/meson.sh | 4 + .../configure/autoconf_cache/ppc-common | 15 + .../configure/autoconf_cache/ppc-linux | 272 ++++++++++++++++++ .../configure/gnu-configure-args.sh | 10 +- common/shlibs | 1 + 5 files changed, 301 insertions(+), 1 deletion(-) create mode 100644 common/environment/configure/autoconf_cache/ppc-common create mode 100644 common/environment/configure/autoconf_cache/ppc-linux diff --git a/common/build-style/meson.sh b/common/build-style/meson.sh index 46582f4b1f1..1c3d0e16d18 100644 --- a/common/build-style/meson.sh +++ b/common/build-style/meson.sh @@ -18,6 +18,10 @@ do_configure() { armv*) _MESON_CPU_FAMILY=arm ;; + ppc|ppc-musl) + _MESON_TARGET_ENDIAN=big + _MESON_CPU_FAMILY=ppc + ;; i686*) _MESON_CPU_FAMILY=x86 ;; diff --git a/common/environment/configure/autoconf_cache/ppc-common b/common/environment/configure/autoconf_cache/ppc-common new file mode 100644 index 00000000000..c7f215cfdcd --- /dev/null +++ b/common/environment/configure/autoconf_cache/ppc-common @@ -0,0 +1,15 @@ +# glib +ac_cv_alignof_guint32=4 +ac_cv_alignof_guint64=8 +ac_cv_alignof_unsigned_long=4 + +# at-spi2-core +ac_cv_alignof_char=1 +ac_cv_alignof_dbind_pointer=4 +ac_cv_alignof_dbind_struct=1 +ac_cv_alignof_dbus_bool_t=4 +ac_cv_alignof_dbus_int16_t=2 +ac_cv_alignof_dbus_int32_t=4 +ac_cv_alignof_dbus_int64_t=8 +ac_cv_alignof_double=8 + diff --git a/common/environment/configure/autoconf_cache/ppc-linux b/common/environment/configure/autoconf_cache/ppc-linux new file mode 100644 index 00000000000..31db4d14ae0 --- /dev/null +++ b/common/environment/configure/autoconf_cache/ppc-linux @@ -0,0 +1,272 @@ +ac_cv_func_setvbuf_reversed=no +ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0} +ac_cv_sizeof_char=${ac_cv_sizeof_char=1} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4} +ac_cv_sizeof_double=${ac_cv_sizeof_double=8} +ac_cv_sizeof_float=${ac_cv_sizeof_float=4} +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4} +ac_cv_sizeof_long=${ac_cv_sizeof_long=4} +ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4} +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16} +ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4} +ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} +ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8} +ac_cv_sizeof_short=${ac_cv_sizeof_short=2} +ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2} +ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1} +ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4} +ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1} +ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4} +ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4} +ac_cv_sizeof_unsigned_long_int=${ac_cv_sizeof_unsigned_long_int=4} +ac_cv_sizeof_unsigned_long_long_int=${ac_cv_sizeof_unsigned_long_long_int=8} +ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2} +ac_cv_sizeof_unsigned_short_int=${ac_cv_sizeof_unsigned_short_int=2} +ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} +ac_cv_sizeof_wchar_t=${ac_cv_sizeof_wchar_t=4} +ac_cv_type___int64=${ac_cv_type___int64=no} +ac_cv_type_size_t=${ac_cv_type_size_t=yes} +ac_cv_type_void_p=${ac_cv_type_void_p=yes} +ac_cv_uchar=${ac_cv_uchar=no} +ac_cv_uint=${ac_cv_uint=yes} +ac_cv_ulong=${ac_cv_ulong=yes} +ac_cv_ushort=${ac_cv_ushort=yes} +ac_cv_time_r_type=${ac_cv_time_r_type=POSIX} +cookie_io_functions_use_off64_t=${cookie_io_functions_use_off64_t=yes} + + +# apache +ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4} + +ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no} +ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no} +ac_cv_sctp=${ac_cv_sctp=no} + +# ssh +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes} +ac_cv_type_struct_timespec=${ac_cv_type_struct_timespec=yes} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes} + +# coreutils +utils_cv_sys_open_max=${utils_cv_sys_open_max=1019} + +# libpcap +ac_cv_linux_vers=${ac_cv_linux_vers=2} + +# nano +ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no} +nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no} + + +# libnet +ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes} + +# screen +screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no} +screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no} +screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no} +screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes} +screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes} +screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} +screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} +screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} +screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes} +ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no} +ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no} +ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no} + +# socat +ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13} +sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes} + +# links +ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes} + +# db +db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes} +db_cv_sprintf_count=${db_cv_sprintf_count=yes} +db_cv_align_t=${db_cv_align_t='unsigned long long'} +db_cv_alignp_t=${db_cv_alignp_t='unsigned long'} + +# php +ac_cv_pread=${ac_cv_pread=no} +ac_cv_pwrite=${ac_cv_pwrite=no} +php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes} + +# gettext +am_cv_func_working_getline=${am_cv_func_working_getline=yes} + +# glib +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes} +glib_cv_has__inline=${glib_cv_has__inline=yes} +glib_cv_has__inline__=${glib_cv_has__inline__=yes} +glib_cv_hasinline=${glib_cv_hasinline=yes} +glib_cv_sane_realloc=${glib_cv_sane_realloc=yes} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_va_val_copy=${glib_cv_va_val_copy=yes} +glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no} +glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes} +glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes} +glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes} + +# ettercap +ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes} + +# libesmtp +acx_working_snprintf=${acx_working_snprintf=yes} + +# D-BUS +ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes} + +# glib 2.0 +glib_cv_long_long_format=${glib_cv_long_long_format=ll} +glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24} +glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8} +glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4} +glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4} +glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4} +glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes} + +glib_cv_strlcpy=${glib_cv_strlcpy=no} + +# httppc +ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no} + +# lftp +ac_cv_need_trio=${ac_cv_need_trio=no} +lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes} + +# edb +db_cv_spinlocks=${db_cv_spinlocks=no} + +# fget +compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes} +compat_cv_func_basename_works=${compat_cv_func_basename_works=no} +compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no} + +# slrn +slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes} + +# libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} + +# ORBit2 +ac_cv_alignof_CORBA_boolean=1 +ac_cv_alignof_CORBA_char=1 +ac_cv_alignof_CORBA_double=4 +ac_cv_alignof_CORBA_float=4 +ac_cv_alignof_CORBA_long=4 +ac_cv_alignof_CORBA_long_double=4 +ac_cv_alignof_CORBA_long_long=4 +ac_cv_alignof_CORBA_octet=1 +ac_cv_alignof_CORBA_pointer=4 +ac_cv_alignof_CORBA_short=2 +ac_cv_alignof_CORBA_struct=4 +ac_cv_alignof_CORBA_wchar=2 + +# cvs +cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes} + +# bash +ac_cv_c_long_double=${ac_cv_c_long_double=yes} +bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing} + +# openssh +ac_cv_have_broken_dirname=${ac_cv_have_broken_dirname='yes'} +ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent='no'} +ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf='no'} +ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug='yes'} +ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr='no'} +ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr='yes'} + +# vim +ac_cv_sizeof_int=${ac_cv_sizeof_int='4'} + +#modphp +ac_cv_c_bigendian_php=${ac_cv_c_bigendian_php=yes} +ac_cv_sizeof_ptrdiff_t=${ac_cv_sizeof_ptrdiff_t=4} + +# apache2 (note other apache stanza in this file) +ap_void_ptr_lt_long=${ap_void_ptr_lt_long=no} +apr_cv_use_lfs64=${apr_cv_use_lfs64=yes} +apr_cv_epoll=${apr_cv_epoll=yes} +apr_cv_pthreads_cflags=${apr_cv_pthreads_cflags=-pthread} +apr_cv_pthreads_lib=${apr_cv_pthreads_lib=-lpthread} +ac_cv_func_mmap=${ac_cv_func_mmap=yes} +ac_cv_file__dev_zero=${ac_cv_file__dev_zero=yes} +ac_cv_sizeof_pid_t=${ac_cv_sizeof_pid_t=4} +ac_cv_socklen_t=${ac_cv_socklen_t=yes} +ac_cv_struct_rlimit=${ac_cv_struct_rlimit=yes} +ac_cv_negative_eai=${ac_cv_negative_eai=yes} +apr_cv_gai_addrconfig=${apr_cv_gai_addrconfig=no} +apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes} + +# binutils (libiberty) +ac_cv_sizeof_int=${ac_cv_sizeof_int=4} +ac_cv_type_int=${ac_cv_type_int=yes} +ac_cv_type_uintptr_t=${ac_cv_type_uintptr_t=yes} +liberty_cv_uint64=${liberty_cv_uint64=uint64_t} + +#samba +ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} +fu_cv_sys_stat_statvfs64=${fu_cv_sys_stat_statvfs64=yes} +samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no} +samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no} +samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=yes} +samba_cv_HAVE_BROKEN_READDIR_NAME=${samba_cv_HAVE_BROKEN_READDIR_NAME=no} +samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes} +samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no} +samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes} +samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes} +samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes} +samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes} +samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes} +samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no} +samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes} +samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes} +samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes} +samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes} +samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes} +samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no} +samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes} +samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes} +samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes} +samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes} +samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no} +samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes} +samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=yes} +samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes} +samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=yes} +samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no} +samba_cv_REPLACE_READDIR=${samba_cv_REPLACE_READDIR=no} +samba_cv_SIZEOF_DEV_T=${samba_cv_SIZEOF_DEV_T=yes} +samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes} +samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes} +samba_cv_STAT_STATVFS64=${samba_cv_STAT_STATVFS64=yes} +samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes} +samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes} +samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes} +samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes} +samba_cv_have_longlong=${samba_cv_have_longlong=yes} +samba_cv_have_setresgid=${samba_cv_have_setresgid=yes} +samba_cv_have_setresuid=${samba_cv_have_setresuid=yes} + +# mysql +mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no} +mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no} + + +# libc +libc_cv_ppc_machine=${libc_cv_ppc_machine=yes} +libc_cv_mlong_double_128ibm=${libc_cv_mlong_double_128ibm=yes} +libc_cv_mabi_ibmlongdouble=${libc_cv_mabi_ibmlongdouble=yes} +libc_cv_mlong_double_128=${libc_cv_mlong_double_128=yes} + diff --git a/common/environment/configure/gnu-configure-args.sh b/common/environment/configure/gnu-configure-args.sh index 4ec0f0ba7c4..ea82c1cc17e 100644 --- a/common/environment/configure/gnu-configure-args.sh +++ b/common/environment/configure/gnu-configure-args.sh @@ -70,7 +70,7 @@ case "$XBPS_TARGET_MACHINE" in . ${_AUTOCONFCACHEDIR}/mips-linux ;; - mipshf*) + mipshf*) . ${_AUTOCONFCACHEDIR}/endian-big . ${_AUTOCONFCACHEDIR}/mips-common . ${_AUTOCONFCACHEDIR}/mips-linux @@ -82,6 +82,14 @@ case "$XBPS_TARGET_MACHINE" in . ${_AUTOCONFCACHEDIR}/mips-linux ;; + + ppc|ppc-musl) + . ${_AUTOCONFCACHEDIR}/endian-big + . ${_AUTOCONFCACHEDIR}/ppc-common + . ${_AUTOCONFCACHEDIR}/ppc-linux + ;; + + x86_64*) . ${_AUTOCONFCACHEDIR}/endian-little . ${_AUTOCONFCACHEDIR}/x86_64-linux diff --git a/common/shlibs b/common/shlibs index 4a80b0fff4b..ea004476b42 100644 --- a/common/shlibs +++ b/common/shlibs @@ -28,6 +28,7 @@ ld-linux.so.3 glibc-2.28_1 armv5tel ld-linux-aarch64.so.1 glibc-2.28_1 aarch64 ld64.so.2 glibc-2.28_1 ppc64 ld.so.1 glibc-2.28_1 mips +ld.so.1 glibc-2.28_1 ppc ld-linux-armhf.so.3 glibc-2.28_1 libresolv.so.2 glibc-2.28_1 libanl.so.1 glibc-2.28_1