diff --git a/build/aclocal/bakefile.m4 b/build/aclocal/bakefile.m4 index c45c736cc1..438c071bf6 100644 --- a/build/aclocal/bakefile.m4 +++ b/build/aclocal/bakefile.m4 @@ -385,7 +385,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD], ;; powerpc-apple-macos* | \ - *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-gnu* | *-*-k*bsd*-gnu | \ + *-*-freebsd* | *-*-openbsd* | *-*-haiku* | *-*-netbsd* | *-*-gnu* | *-*-k*bsd*-gnu | \ *-*-mirbsd* | \ *-*-sunos4* | \ *-*-osf* | \ @@ -435,7 +435,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS], SONAME_FLAG= case "${BAKEFILE_HOST}" in - *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \ + *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-haiku* | *-*-netbsd* | \ *-*-k*bsd*-gnu | *-*-mirbsd* | *-*-gnu* ) if test "x$SUNCXX" = "xyes"; then SONAME_FLAG="-h " diff --git a/configure b/configure index 779605646c..283e60c3a5 100755 --- a/configure +++ b/configure @@ -3807,6 +3807,7 @@ USE_OSF= USE_SGI= USE_SOLARIS= USE_SUN= USE_SUNOS= USE_SVR4= USE_SYSV= USE_VMS= USE_ULTRIX= USE_UNIXWARE= +USE_HAIKU= USE_ALPHA= @@ -4022,6 +4023,13 @@ case "${host}" in ;; + *-*-haiku* ) + USE_HAIKU=1 + $as_echo "#define __HAIKU__ 1" >>confdefs.h + + DEFAULT_DEFAULT_wxUSE_QT=1 + ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** System type ${host} is unknown, assuming generic Unix and continuing nevertheless." >&5 $as_echo "$as_me: WARNING: *** System type ${host} is unknown, assuming generic Unix and continuing nevertheless." >&2;} @@ -32013,6 +32021,50 @@ fi $as_echo "$ac_cv_lib_socket_inet_addr" >&6; } if test "x$ac_cv_lib_socket_inet_addr" = xyes; then : INET_LINK="socket" +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -lnetwork" >&5 +$as_echo_n "checking for inet_addr in -lnetwork... " >&6; } +if ${ac_cv_lib_network_inet_addr+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnetwork $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_addr (); +int +main () +{ +return inet_addr (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_network_inet_addr=yes +else + ac_cv_lib_network_inet_addr=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_inet_addr" >&5 +$as_echo "$ac_cv_lib_network_inet_addr" >&6; } +if test "x$ac_cv_lib_network_inet_addr" = xyes; then : + INET_LINK="network" + +fi + + fi @@ -33454,6 +33506,18 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$ac_cv_func_gethostbyname" = xyes; then : $as_echo "#define HAVE_GETHOSTBYNAME 1" >>confdefs.h +else + + case "${host}" in + *-*-haiku* ) + $as_echo "#define HAVE_GETHOSTBYNAME 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Defining HAVE_GETHOSTBYNAME unconditionally under ${host}." >&5 +$as_echo "$as_me: WARNING: Defining HAVE_GETHOSTBYNAME unconditionally under ${host}." >&2;} + ;; + esac + + fi fi @@ -33582,6 +33646,18 @@ if test "x$ac_cv_func_getservbyname" = xyes; then : _ACEOF $as_echo "#define HAVE_GETSERVBYNAME 1" >>confdefs.h +else + + case "${host}" in + *-*-haiku* ) + $as_echo "#define HAVE_GETSERVBYNAME 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Defining HAVE_GETSERVBYNAME unconditionally under ${host}." >&5 +$as_echo "$as_me: WARNING: Defining HAVE_GETSERVBYNAME unconditionally under ${host}." >&2;} + ;; + esac + + fi done @@ -36140,9 +36216,55 @@ if test "x$ac_cv_lib_socket_socket" = xyes; then : fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: socket library not found - sockets will be disabled" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5 +$as_echo_n "checking for socket in -lnetwork... " >&6; } +if ${ac_cv_lib_network_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnetwork $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char socket (); +int +main () +{ +return socket (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_network_socket=yes +else + ac_cv_lib_network_socket=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5 +$as_echo "$ac_cv_lib_network_socket" >&6; } +if test "x$ac_cv_lib_network_socket" = xyes; then : + if test "$INET_LINK" != " -lnetwork"; then + INET_LINK="$INET_LINK -lnetwork" + fi +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: socket library not found - sockets will be disabled" >&5 $as_echo "$as_me: WARNING: socket library not found - sockets will be disabled" >&2;} - wxUSE_SOCKETS=no + wxUSE_SOCKETS=no + + +fi + fi @@ -40090,7 +40212,7 @@ fi ;; powerpc-apple-macos* | \ - *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-gnu* | *-*-k*bsd*-gnu | \ + *-*-freebsd* | *-*-openbsd* | *-*-haiku* | *-*-netbsd* | *-*-gnu* | *-*-k*bsd*-gnu | \ *-*-mirbsd* | \ *-*-sunos4* | \ *-*-osf* | \ @@ -40130,7 +40252,7 @@ fi SONAME_FLAG= case "${BAKEFILE_HOST}" in - *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \ + *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-haiku* | *-*-netbsd* | \ *-*-k*bsd*-gnu | *-*-mirbsd* | *-*-gnu* ) if test "x$SUNCXX" = "xyes"; then SONAME_FLAG="-h " diff --git a/configure.in b/configure.in index 7720f2f5d9..08a9f46b1a 100644 --- a/configure.in +++ b/configure.in @@ -87,6 +87,7 @@ USE_SYSV= dnl any System V USE_VMS= USE_ULTRIX= USE_UNIXWARE= +USE_HAIKU= dnl hardware platform USE_ALPHA= @@ -294,6 +295,12 @@ case "${host}" in AC_DEFINE(__BEOS__) ;; + *-*-haiku* ) + USE_HAIKU=1 + AC_DEFINE(__HAIKU__) + DEFAULT_DEFAULT_wxUSE_QT=1 + ;; + *) AC_MSG_WARN([*** System type ${host} is unknown, assuming generic Unix and continuing nevertheless.]) AC_MSG_WARN([*** Please report the build results to wx-dev@googlegroups.com.]) @@ -4483,7 +4490,7 @@ fi WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT]) dnl check for inet_addr and inet_aton (these may live either in libc, or in -dnl libnsl or libresolv or libsocket) +dnl libnsl or libresolv or libsocket or libnetwork under Haiku) INET_LINK= AC_CHECK_FUNCS(inet_addr, AC_DEFINE(HAVE_INET_ADDR), @@ -4495,7 +4502,12 @@ AC_CHECK_FUNCS(inet_addr, INET_LINK="resolv", [ AC_CHECK_LIB(socket, inet_addr, - INET_LINK="socket" + INET_LINK="socket", + [ + AC_CHECK_LIB(network, inet_addr, + INET_LINK="network" + ) + ] ) ] ) @@ -5043,7 +5055,17 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ AX_FUNC_WHICH_GETHOSTBYNAME_R if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \ "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then - AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ]) + AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ], + [ + dnl Under HaikuOS it is not yet detected + case "${host}" in + *-*-haiku* ) + AC_DEFINE(HAVE_GETHOSTBYNAME) + AC_MSG_WARN([Defining HAVE_GETHOSTBYNAME unconditionally under ${host}.]) + ;; + esac + ] + ) fi dnl A similar test for getservbyname_r dnl I'm tempted to just not do this test which is taking much time and @@ -5052,7 +5074,17 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ AC_raf_FUNC_WHICH_GETSERVBYNAME_R if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \ "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then - AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ]) + AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ], + [ + dnl Under HaikuOS it is not yet detected + case "${host}" in + *-*-haiku* ) + AC_DEFINE(HAVE_GETSERVBYNAME) + AC_MSG_WARN([Defining HAVE_GETSERVBYNAME unconditionally under ${host}.]) + ;; + esac + ] + ) fi dnl For gethostbyaddr_r, we currently do no separate test, instead, we dnl silently assume it's available exactly if gethostbyname_r is @@ -6083,8 +6115,16 @@ if test "$wxUSE_SOCKETS" = "yes"; then INET_LINK="$INET_LINK -lsocket" fi, [ - AC_MSG_WARN([socket library not found - sockets will be disabled]) - wxUSE_SOCKETS=no + dnl under Haiku, socket is in libnetwork + AC_CHECK_LIB(network, socket, + if test "$INET_LINK" != " -lnetwork"; then + INET_LINK="$INET_LINK -lnetwork" + fi, + [ + AC_MSG_WARN([socket library not found - sockets will be disabled]) + wxUSE_SOCKETS=no + ] + ) ] ) ] diff --git a/docs/changes.txt b/docs/changes.txt index 53be80064f..684d8617a9 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -95,6 +95,7 @@ All: - Add wxLZMA{Input,Output}Stream classes using external liblzma. - Make wxList and wxVector iterators conform to input iterator requirements. - Fix MT-safety problem when reading and writing from wxSocket (jkubalik). +- Fix build issues under HaikuOS (mill-j). All (GUI):