diff --git a/NEWS b/NEWS index bddfdff..7734385 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,10 @@ +ORBit2-2.14.20 + + - build fixes + + Stop using -DG_DISABLE_DEPRECATED since it doesn't build + + Use AM_CPPFLAGS instead of INCLUDES + + Move configure.in to configure.ac + ORBit2-2.14.19 - bug fixes diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..bd6fcac --- /dev/null +++ b/configure.ac @@ -0,0 +1,414 @@ +m4_define([orbit_major_version],[2]) +m4_define([orbit_minor_version],[14]) +m4_define([orbit_micro_version],[20]) +m4_define([orbit_version],[orbit_major_version.orbit_minor_version.orbit_micro_version]) + +dnl Process this file with autoconf to produce a configure script. +AC_INIT([ORBit2],[orbit_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2],[ORBit2]) + +# Process this file with autoconf to produce a configure script. +# require autoconf 2.60 +AC_PREREQ(2.60) + +# Before making a release, the LT_VERSION string should be modified. +# The string is of the form C:R:A. +# - If interfaces have been changed or added, but binary compatibility has +# been preserved, change to C+1:0:A+1 +# - If binary compatibility has been broken (eg removed or changed interfaces) +# change to C+1:0:0 +# - If the interface is the same as the previous version, change to C:R+1:A + +LT_VERSION=1:0:1 +AC_SUBST(LT_VERSION) + +ORBIT_MAJOR_VERSION=orbit_major_version +ORBIT_MINOR_VERSION=orbit_minor_version +ORBIT_MICRO_VERSION=orbit_micro_version +ORBIT_VERSION=orbit_version +AC_SUBST(ORBIT_MAJOR_VERSION) +AC_SUBST(ORBIT_MINOR_VERSION) +AC_SUBST(ORBIT_MICRO_VERSION) +AC_SUBST(ORBIT_VERSION) + +# Increment this every time a feature is added in the .idl compiler +# that needs help from the main libraries. +ORBIT_SERIAL=20 +AC_SUBST(ORBIT_SERIAL) + +# For automake. + +AC_CONFIG_HEADERS([config.h]) + +dnl Initialize automake stuff +AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2 no-define]) + +dnl Required by autoconf 2.60 +AC_SUBST(datarootdir) + +AC_CANONICAL_HOST +AC_MSG_CHECKING([for Win32]) +case "$host" in + *-*-mingw*) + os_win32=yes + LIBM= + MINGW_LDFLAGS="-Wl,--enable-runtime-pseudo-reloc" + ;; + *) + os_win32=no + LIBM=-lm + MINGW_LDFLAGS= + ;; +esac +AC_MSG_RESULT([$os_win32]) + +AM_CONDITIONAL(OS_WIN32, [test "$os_win32" = "yes"]) + +AC_SUBST(LIBM) +AC_SUBST(MINGW_LDFLAGS) +LDFLAGS="$MINGW_LDFLAGS $LDFLAGS" + +if test "$os_win32" = "yes"; then + if test x$enable_static = xyes -o x$enable_static = x; then + AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.]) + enable_static=no + fi + if test x$enable_shared = xno; then + AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.]) + fi + enable_shared=yes +fi + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL + +AC_LIBTOOL_DLOPEN +AC_LIBTOOL_WIN32_DLL +AM_PROG_LIBTOOL +AM_MAINTAINER_MODE([enable]) + +dnl Useful for automating stuff +AC_CACHE_CHECK([for aclocal flags], ac_cv_orbit_aclocal_flags,[ + ac_cv_orbit_aclocal_flags="$ACLOCAL_FLAGS" +]) +ACLOCAL="$ACLOCAL $ac_cv_orbit_aclocal_flags" + +AC_ARG_ENABLE(http, [--enable-http enables http connections],, enable_http=no) +AM_CONDITIONAL(ENABLE_HTTP, test x"$enable_http" = xyes) +if test x"$enable_http" = xyes ; then + AC_DEFINE(ENABLE_HTTP, 1, [Define if HTTP connections are available]) +fi +dnl --enable-compile-warnings +AC_ARG_ENABLE(compile-warnings, [ --enable-compile-warnings=[no/yes] Turn on compiler warnings.], [enable_compile_warnings="$enableval"],[enable_compile_warnings="yes"]) + +dnl --enable-debug=(yes|minimum|no) +AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging [default=no]],,enable_debug=minimum) +if test "x$enable_debug" = "xyes"; then + ORBIT_DEBUG_CFLAGS="-ggdb -O0 -DG_ENABLE_DEBUG" +else + if test "x$enable_debug" = "xno"; then + ORBIT_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + else + ORBIT_DEBUG_CFLAGS="" + fi +fi + +AC_ARG_ENABLE(purify, [ --enable-purify be clean for memory debuggers], enable_purify=yes, enable_purify=no) +if test z$enable_purify = zyes; then + AC_DEFINE(ORBIT_PURIFY, 1, [defined if purify is enabled]) +fi + +AC_MSG_CHECKING(which idl compiler to use) +IDL_COMPILER="\$(top_builddir)/src/idl-compiler/orbit-idl-2\$(EXEEXT)" +AC_ARG_WITH(idl-compiler, + [ --with-idl-compiler use specific idl compiler (useful when crosscompiling)], + if test "x$withval" != x; then + if test -f "$withval"; then + IDL_COMPILER=$withval + fi + fi +) +if test x$IDL_COMPILER == x"\$(top_builddir)/src/idl-compiler/orbit-idl-2\$(EXEEXT)"; then + AC_MSG_RESULT(internal) +else + AC_MSG_RESULT(external ($IDL_COMPILER)) +fi +AC_SUBST(IDL_COMPILER) + +AC_PROG_AWK + +GLIB_REQUIRED=2.8.0 +LIBIDL_REQUIRED=0.8.2 +AC_SUBST(GLIB_REQUIRED) +AC_SUBST(LIBIDL_REQUIRED) + +dnl Check for pkg-config version; want >= 0.14.0 because of -pthread bug +PKG_PROG_PKG_CONFIG([0.18]) + +LOCAL_LINC_LIBS='$(top_builddir)/linc2/src/liblinc.la' +LOCAL_LINC_CFLAGS='-I$(top_srcdir)/linc2/include -I$(top_builddir)/linc2/include' +AC_SUBST(LOCAL_LINC_LIBS) +AC_SUBST(LOCAL_LINC_CFLAGS) + +dnl Checks for libraries. +PKG_CHECK_MODULES(ORBIT, \ + glib-2.0 >= $GLIB_REQUIRED \ + gobject-2.0 >= $GLIB_REQUIRED \ + gthread-2.0 >= $GLIB_REQUIRED \ + gmodule-2.0 >= $GLIB_REQUIRED) +AC_SUBST(ORBIT_LIBS) +AC_SUBST(ORBIT_CFLAGS) + +PKG_CHECK_MODULES(ORBIT_IDL, \ + libIDL-2.0 >= $LIBIDL_REQUIRED \ + glib-2.0 >= $GLIB_REQUIRED \ + gobject-2.0 >= $GLIB_REQUIRED \ + gmodule-2.0 >= $GLIB_REQUIRED) +AC_SUBST(ORBIT_IDL_LIBS) +AC_SUBST(ORBIT_IDL_CFLAGS) + +PKG_CHECK_MODULES(ORBIT_NAME, + glib-2.0 >= $GLIB_REQUIRED \ + gobject-2.0 >= $GLIB_REQUIRED \ + gthread-2.0 >= $GLIB_REQUIRED \ + gmodule-2.0 >= $GLIB_REQUIRED) +AC_SUBST(ORBIT_NAME_LIBS) +AC_SUBST(ORBIT_NAME_CFLAGS) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(fcntl.h unistd.h sys/endian.h endian.h machine/endian.h) +AC_CHECK_HEADERS(sys/machine.h sys/isa_defs.h sys/poll.h sys/select.h) +AC_CHECK_HEADERS(sys/time.h netinet/in.h sys/socket.h arpa/inet.h) +AC_CHECK_HEADERS(stddef.h wchar.h wcstr.h wctype.h machine/types.h) +AC_CHECK_HEADERS(sys/un.h sys/uio.h syslog.h) +AC_CHECK_HEADERS(sys/wait.h netdb.h) +AC_CHECK_HEADERS(utime.h sys/utime.h) +AC_CHECK_HEADERS([linux/socket.h]) +AC_CHECK_HEADERS(sys/sockio.h) + +if test "$os_win32" = "yes"; then + AC_CHECK_HEADERS(winsock2.h) + if test $ac_cv_header_winsock2_h = yes; then + dnl If we have , assume we find the functions + dnl in -lws2_32. + LIBS="-lws2_32 $LIBS" + fi +fi + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_INLINE +AC_TYPE_SIZE_T + +dnl Checks for library functions. +AC_FUNC_VPRINTF + +AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)]) +AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) +AC_CHECK_FUNC(sigaction) +AC_CHECK_FUNC(syslog) + +dnl This generates warnings from autoconf... +AC_C_BIGENDIAN + + +dnl +dnl So many people with broken linking setups asked about this +dnl it turned out to be necessary to check for this. +dnl +dofus_save_libs="$LIBS" +LIBS="$ORBIT_LIBS $LIBS" +AC_TRY_RUN([ #include + main () + { + return 0; + } ],, + AC_MSG_ERROR([ +Linking is badly borked on your system. Please ensure your library path is correct +Check config.log for details - check near the end of the log above 'failed program was' +Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the +prefix you're compiling on: '${prefix}' ]), +AC_MSG_WARN([Could not check for borked linking while cross-compiling])) +LIBS="$dofus_save_libs" + +orig_CPPFLAGS=$CPPFLAGS +CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS" +AC_CHECK_ALIGNOF(CORBA_octet) +AC_CHECK_ALIGNOF(CORBA_boolean) +AC_CHECK_ALIGNOF(CORBA_char) +AC_CHECK_ALIGNOF(CORBA_wchar) +AC_CHECK_ALIGNOF(CORBA_short) +AC_CHECK_ALIGNOF(CORBA_long) +AC_CHECK_ALIGNOF(CORBA_long_long) +AC_CHECK_ALIGNOF(CORBA_float) +AC_CHECK_ALIGNOF(CORBA_double) +AC_CHECK_ALIGNOF(CORBA_long_double) +AC_CHECK_ALIGNOF(CORBA_struct) +AC_CHECK_ALIGNOF(CORBA_pointer) +CPPFLAGS=$orig_CPPFLAGS + +if test "x$GCC" = "xyes" -a "x$enable_compile_warnings" != "xno"; then + WARN_CFLAGS="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations" +else + WARN_CFLAGS= +fi + +AC_MSG_CHECKING(what warning flags to pass to the C compiler) +AC_MSG_RESULT($WARN_CFLAGS) +AC_SUBST(WARN_CFLAGS) + +AC_SUBST(pkglibdir) + +if test "$enable_maintainer_mode" = "yes"; then + DISABLE_DEPRECATED_CFLAGS=" \ + -DG_DISABLE_SINGLE_INCLUDES" + AC_SUBST(DISABLE_DEPRECATED_CFLAGS) +fi + +dnl +dnl --------- start linc bits --------- +dnl + +dnl Checks for libraries. +PKG_CHECK_MODULES(LINC, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED gthread-2.0 >= $GLIB_REQUIRED) +AC_SUBST(LINC_LIBS) +AC_SUBST(LINC_CFLAGS) + +dnl Checks for header files. +AC_HEADER_STDC +AC_HEADER_RESOLV +AC_CHECK_HEADERS(fcntl.h unistd.h sys/endian.h endian.h machine/endian.h sys/machine.h sys/isa_defs.h sys/poll.h) +AC_CHECK_HEADERS(stddef.h wchar.h wcstr.h wctype.h machine/types.h) +AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h sys/un.h) +AC_CHECK_HEADERS(arpa/nameser.h) +dnl AC_CHECK_HEADERS(linux/irda.h) + +dnl Checks for library functions. +AC_CHECK_FUNCS(poll basename) +AC_CHECK_FUNC(res_init,,[AC_CHECK_LIB(resolv,res_init)]) +AC_CHECK_LIB(resolv,res_9_init) +AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)]) +AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) +AC_CHECK_FUNC(getaddrinfo,,[AC_CHECK_LIB(nsl,getaddrinfo)]) +if test x"$ac_cv_func_getaddrinfo" = "xyes" ; then + AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo() is available]) +fi +AC_CHECK_FUNC(getnameinfo,,[AC_CHECK_LIB(nsl,getnameinfo)]) +if test x"$ac_cv_func_getnameinfo" = "xyes" ; then + AC_DEFINE(HAVE_GETNAMEINFO, 1, [Define if getnameinfo() is available]) +fi +have_inet_pton=no +AC_CHECK_FUNC(inet_pton,,) +if test x"$ac_cv_func_inet_pton" = "xyes" ; then + have_inet_pton=yes + AC_DEFINE(HAVE_INET_PTON, 1, [Define if inet_pton() is available]) +fi + +# AC_CHECK_TYPE doesn't work here. +AC_MSG_CHECKING([for socklen_t]) +AC_TRY_COMPILE( + [#ifdef _WIN32 +#include +#else +#include +#include +#endif], + [socklen_t len;], + [AC_MSG_RESULT(yes)], + [AC_DEFINE(socklen_t, size_t, [Define socklen_t to be of type size_t]) + AC_MSG_RESULT(no)]) + +# Blatantly stolen from configure.in in the sample code from +# "UNIX Network Programming, Volume 1" by W. Richard Stevens +AC_CACHE_CHECK(if sockaddr has sa_len member, +ac_cv_sockaddr_has_sa_len, + AC_TRY_COMPILE([ +# include +# include ], + [unsigned int i = sizeof(((struct sockaddr *)0)->sa_len)], + ac_cv_sockaddr_has_sa_len=yes, + ac_cv_sockaddr_has_sa_len=no)) +if test x"$ac_cv_sockaddr_has_sa_len" = "xyes" ; then + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if sockaddr has sa_len member]) +fi + +dnl +dnl --------- end linc bits --------- +dnl + +dnl +dnl --------- set additional gcc flags to catch errors --------- +dnl +AX_CFLAGS_GCC_OPTION(-Werror-implicit-function-declaration) +CFLAGS="$CFLAGS $ORBIT_DEBUG_CFLAGS" +AC_SUBST(CFLAGS) + + +dnl ----- gtk-doc ------ +GTK_DOC_CHECK([1.0]) + + +AC_CONFIG_FILES([ +Makefile +orbit2-config +ORBit-2.0.pc +ORBit-2.0-uninstalled.pc +ORBit-CosNaming-2.0.pc +ORBit-CosNaming-2.0-uninstalled.pc +ORBit-imodule-2.0.pc +ORBit-imodule-2.0-uninstalled.pc +ORBit.spec +orbit2-zip +src/Makefile +src/idl-compiler/Makefile +src/idl-compiler/ORBit-idl-2.0.pc +src/idl/Makefile +src/idl/CORBA/Makefile +src/idl/CORBA_PIDL/Makefile +src/idl/interop/Makefile +src/idl/misc/Makefile +src/orb/Makefile +src/orb/include/Makefile +src/orb/util/Makefile +src/orb/GIOP/Makefile +src/orb/orb-core/Makefile +src/orb/dynamic/Makefile +src/orb/poa/Makefile +src/services/Makefile +src/services/name/Makefile +src/services/imodule/Makefile +include/Makefile +include/orbit/Makefile +include/orbit/orbit-config.h +include/orbit/GIOP/Makefile +include/orbit/util/Makefile +include/orbit/orb-core/Makefile +include/orbit/poa/Makefile +include/orbit/dynamic/Makefile +test/Makefile +test/everything/Makefile +test/inhibit/Makefile +test/poa/Makefile +docs/Makefile +docs/devel/Makefile +docs/internals/Makefile +docs/api/Makefile + +linc2/Makefile +linc2/src/Makefile +linc2/test/Makefile +linc2/include/Makefile +linc2/include/linc/Makefile +linc2/include/linc/linc-config.h +]) + +AC_OUTPUT + +echo "ORBit configuration: + + Source code location: ${srcdir} + Compiler: ${CC} + + Purify cleanliness: ${enable_purify} +" diff --git a/configure.in b/configure.in deleted file mode 100644 index 04d4b2a..0000000 --- a/configure.in +++ /dev/null @@ -1,413 +0,0 @@ -m4_define([orbit_major_version],[2]) -m4_define([orbit_minor_version],[14]) -m4_define([orbit_micro_version],[19]) -m4_define([orbit_version],[orbit_major_version.orbit_minor_version.orbit_micro_version]) - -dnl Process this file with autoconf to produce a configure script. -AC_INIT([ORBit2],[orbit_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2],[ORBit2]) - -# Process this file with autoconf to produce a configure script. -# require autoconf 2.54 -AC_PREREQ(2.54) - -# Before making a release, the LT_VERSION string should be modified. -# The string is of the form C:R:A. -# - If interfaces have been changed or added, but binary compatibility has -# been preserved, change to C+1:0:A+1 -# - If binary compatibility has been broken (eg removed or changed interfaces) -# change to C+1:0:0 -# - If the interface is the same as the previous version, change to C:R+1:A - -LT_VERSION=1:0:1 -AC_SUBST(LT_VERSION) - -ORBIT_MAJOR_VERSION=orbit_major_version -ORBIT_MINOR_VERSION=orbit_minor_version -ORBIT_MICRO_VERSION=orbit_micro_version -ORBIT_VERSION=orbit_version -AC_SUBST(ORBIT_MAJOR_VERSION) -AC_SUBST(ORBIT_MINOR_VERSION) -AC_SUBST(ORBIT_MICRO_VERSION) -AC_SUBST(ORBIT_VERSION) - -# Increment this every time a feature is added in the .idl compiler -# that needs help from the main libraries. -ORBIT_SERIAL=20 -AC_SUBST(ORBIT_SERIAL) - -# For automake. - -AC_CONFIG_HEADERS([config.h]) - -dnl Initialize automake stuff -AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2 no-define]) - -dnl Required by autoconf 2.60 -AC_SUBST(datarootdir) - -AC_CANONICAL_HOST -AC_MSG_CHECKING([for Win32]) -case "$host" in - *-*-mingw*) - os_win32=yes - LIBM= - MINGW_LDFLAGS="-Wl,--enable-runtime-pseudo-reloc" - ;; - *) - os_win32=no - LIBM=-lm - MINGW_LDFLAGS= - ;; -esac -AC_MSG_RESULT([$os_win32]) - -AM_CONDITIONAL(OS_WIN32, [test "$os_win32" = "yes"]) - -AC_SUBST(LIBM) -AC_SUBST(MINGW_LDFLAGS) -LDFLAGS="$MINGW_LDFLAGS $LDFLAGS" - -if test "$os_win32" = "yes"; then - if test x$enable_static = xyes -o x$enable_static = x; then - AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.]) - enable_static=no - fi - if test x$enable_shared = xno; then - AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.]) - fi - enable_shared=yes -fi - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_INSTALL - -AC_LIBTOOL_DLOPEN -AC_LIBTOOL_WIN32_DLL -AM_PROG_LIBTOOL -AM_MAINTAINER_MODE - -dnl Useful for automating stuff -AC_CACHE_CHECK([for aclocal flags], ac_cv_orbit_aclocal_flags,[ - ac_cv_orbit_aclocal_flags="$ACLOCAL_FLAGS" -]) -ACLOCAL="$ACLOCAL $ac_cv_orbit_aclocal_flags" - -AC_ARG_ENABLE(http, [--enable-http enables http connections],, enable_http=no) -AM_CONDITIONAL(ENABLE_HTTP, test x"$enable_http" = xyes) -if test x"$enable_http" = xyes ; then - AC_DEFINE(ENABLE_HTTP, 1, [Define if HTTP connections are available]) -fi -dnl --enable-compile-warnings -AC_ARG_ENABLE(compile-warnings, [ --enable-compile-warnings=[no/yes] Turn on compiler warnings.], [enable_compile_warnings="$enableval"],[enable_compile_warnings="yes"]) - -dnl --enable-debug=(yes|minimum|no) -AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging [default=no]],,enable_debug=minimum) -if test "x$enable_debug" = "xyes"; then - ORBIT_DEBUG_CFLAGS="-ggdb -O0 -DG_ENABLE_DEBUG" -else - if test "x$enable_debug" = "xno"; then - ORBIT_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" - else - ORBIT_DEBUG_CFLAGS="" - fi -fi - -AC_ARG_ENABLE(purify, [ --enable-purify be clean for memory debuggers], enable_purify=yes, enable_purify=no) -if test z$enable_purify = zyes; then - AC_DEFINE(ORBIT_PURIFY, 1, [defined if purify is enabled]) -fi - -AC_MSG_CHECKING(which idl compiler to use) -IDL_COMPILER="\$(top_builddir)/src/idl-compiler/orbit-idl-2\$(EXEEXT)" -AC_ARG_WITH(idl-compiler, - [ --with-idl-compiler use specific idl compiler (useful when crosscompiling)], - if test "x$withval" != x; then - if test -f "$withval"; then - IDL_COMPILER=$withval - fi - fi -) -if test x$IDL_COMPILER == x"\$(top_builddir)/src/idl-compiler/orbit-idl-2\$(EXEEXT)"; then - AC_MSG_RESULT(internal) -else - AC_MSG_RESULT(external ($IDL_COMPILER)) -fi -AC_SUBST(IDL_COMPILER) - -AC_PROG_AWK - -GLIB_REQUIRED=2.8.0 -LIBIDL_REQUIRED=0.8.2 -AC_SUBST(GLIB_REQUIRED) -AC_SUBST(LIBIDL_REQUIRED) - -dnl Check for pkg-config version; want >= 0.14.0 because of -pthread bug -PKG_PROG_PKG_CONFIG([0.18]) - -LOCAL_LINC_LIBS='$(top_builddir)/linc2/src/liblinc.la' -LOCAL_LINC_CFLAGS='-I$(top_srcdir)/linc2/include -I$(top_builddir)/linc2/include' -AC_SUBST(LOCAL_LINC_LIBS) -AC_SUBST(LOCAL_LINC_CFLAGS) - -dnl Checks for libraries. -PKG_CHECK_MODULES(ORBIT, \ - glib-2.0 >= $GLIB_REQUIRED \ - gobject-2.0 >= $GLIB_REQUIRED \ - gthread-2.0 >= $GLIB_REQUIRED \ - gmodule-2.0 >= $GLIB_REQUIRED) -AC_SUBST(ORBIT_LIBS) -AC_SUBST(ORBIT_CFLAGS) - -PKG_CHECK_MODULES(ORBIT_IDL, \ - libIDL-2.0 >= $LIBIDL_REQUIRED \ - glib-2.0 >= $GLIB_REQUIRED \ - gobject-2.0 >= $GLIB_REQUIRED \ - gmodule-2.0 >= $GLIB_REQUIRED) -AC_SUBST(ORBIT_IDL_LIBS) -AC_SUBST(ORBIT_IDL_CFLAGS) - -PKG_CHECK_MODULES(ORBIT_NAME, - glib-2.0 >= $GLIB_REQUIRED \ - gobject-2.0 >= $GLIB_REQUIRED \ - gthread-2.0 >= $GLIB_REQUIRED \ - gmodule-2.0 >= $GLIB_REQUIRED) -AC_SUBST(ORBIT_NAME_LIBS) -AC_SUBST(ORBIT_NAME_CFLAGS) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h unistd.h sys/endian.h endian.h machine/endian.h) -AC_CHECK_HEADERS(sys/machine.h sys/isa_defs.h sys/poll.h sys/select.h) -AC_CHECK_HEADERS(sys/time.h netinet/in.h sys/socket.h arpa/inet.h) -AC_CHECK_HEADERS(stddef.h wchar.h wcstr.h wctype.h machine/types.h) -AC_CHECK_HEADERS(sys/un.h sys/uio.h syslog.h) -AC_CHECK_HEADERS(sys/wait.h netdb.h) -AC_CHECK_HEADERS(utime.h sys/utime.h) -AC_CHECK_HEADERS([linux/socket.h]) -AC_CHECK_HEADERS(sys/sockio.h) - -if test "$os_win32" = "yes"; then - AC_CHECK_HEADERS(winsock2.h) - if test $ac_cv_header_winsock2_h = yes; then - dnl If we have , assume we find the functions - dnl in -lws2_32. - LIBS="-lws2_32 $LIBS" - fi -fi - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE -AC_TYPE_SIZE_T - -dnl Checks for library functions. -AC_FUNC_VPRINTF - -AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)]) -AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) -AC_CHECK_FUNC(sigaction) -AC_CHECK_FUNC(syslog) - -dnl This generates warnings from autoconf... -AC_C_BIGENDIAN - - -dnl -dnl So many people with broken linking setups asked about this -dnl it turned out to be necessary to check for this. -dnl -dofus_save_libs="$LIBS" -LIBS="$ORBIT_LIBS $LIBS" -AC_TRY_RUN([ #include - main () - { - return 0; - } ],, - AC_MSG_ERROR([ -Linking is badly borked on your system. Please ensure your library path is correct -Check config.log for details - check near the end of the log above 'failed program was' -Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the -prefix you're compiling on: '${prefix}' ]), -AC_MSG_WARN([Could not check for borked linking while cross-compiling])) -LIBS="$dofus_save_libs" - -orig_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS" -AC_CHECK_ALIGNOF(CORBA_octet) -AC_CHECK_ALIGNOF(CORBA_boolean) -AC_CHECK_ALIGNOF(CORBA_char) -AC_CHECK_ALIGNOF(CORBA_wchar) -AC_CHECK_ALIGNOF(CORBA_short) -AC_CHECK_ALIGNOF(CORBA_long) -AC_CHECK_ALIGNOF(CORBA_long_long) -AC_CHECK_ALIGNOF(CORBA_float) -AC_CHECK_ALIGNOF(CORBA_double) -AC_CHECK_ALIGNOF(CORBA_long_double) -AC_CHECK_ALIGNOF(CORBA_struct) -AC_CHECK_ALIGNOF(CORBA_pointer) -CPPFLAGS=$orig_CPPFLAGS - -if test "x$GCC" = "xyes" -a "x$enable_compile_warnings" != "xno"; then - WARN_CFLAGS="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations" -else - WARN_CFLAGS= -fi - -AC_MSG_CHECKING(what warning flags to pass to the C compiler) -AC_MSG_RESULT($WARN_CFLAGS) -AC_SUBST(WARN_CFLAGS) - -AC_SUBST(pkglibdir) - -if test "$enable_maintainer_mode" = "yes"; then - DISABLE_DEPRECATED_CFLAGS=" \ - -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES" - AC_SUBST(DISABLE_DEPRECATED_CFLAGS) -fi - -dnl -dnl --------- start linc bits --------- -dnl - -dnl Checks for libraries. -PKG_CHECK_MODULES(LINC, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED gthread-2.0 >= $GLIB_REQUIRED) -AC_SUBST(LINC_LIBS) -AC_SUBST(LINC_CFLAGS) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h unistd.h sys/endian.h endian.h machine/endian.h sys/machine.h sys/isa_defs.h sys/poll.h) -AC_CHECK_HEADERS(stddef.h wchar.h wcstr.h wctype.h machine/types.h) -AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h sys/un.h) -AC_CHECK_HEADERS(arpa/nameser.h resolv.h) -dnl AC_CHECK_HEADERS(linux/irda.h) - -dnl Checks for library functions. -AC_CHECK_FUNCS(poll basename) -AC_CHECK_FUNC(res_init,,[AC_CHECK_LIB(resolv,res_init)]) -AC_CHECK_LIB(resolv,res_9_init) -AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)]) -AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) -AC_CHECK_FUNC(getaddrinfo,,[AC_CHECK_LIB(nsl,getaddrinfo)]) -if test x"$ac_cv_func_getaddrinfo" = "xyes" ; then - AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo() is available]) -fi -AC_CHECK_FUNC(getnameinfo,,[AC_CHECK_LIB(nsl,getnameinfo)]) -if test x"$ac_cv_func_getnameinfo" = "xyes" ; then - AC_DEFINE(HAVE_GETNAMEINFO, 1, [Define if getnameinfo() is available]) -fi -have_inet_pton=no -AC_CHECK_FUNC(inet_pton,,) -if test x"$ac_cv_func_inet_pton" = "xyes" ; then - have_inet_pton=yes - AC_DEFINE(HAVE_INET_PTON, 1, [Define if inet_pton() is available]) -fi - -# AC_CHECK_TYPE doesn't work here. -AC_MSG_CHECKING([for socklen_t]) -AC_TRY_COMPILE( - [#ifdef _WIN32 -#include -#else -#include -#include -#endif], - [socklen_t len;], - [AC_MSG_RESULT(yes)], - [AC_DEFINE(socklen_t, size_t, [Define socklen_t to be of type size_t]) - AC_MSG_RESULT(no)]) - -# Blatantly stolen from configure.in in the sample code from -# "UNIX Network Programming, Volume 1" by W. Richard Stevens -AC_CACHE_CHECK(if sockaddr has sa_len member, -ac_cv_sockaddr_has_sa_len, - AC_TRY_COMPILE([ -# include -# include ], - [unsigned int i = sizeof(((struct sockaddr *)0)->sa_len)], - ac_cv_sockaddr_has_sa_len=yes, - ac_cv_sockaddr_has_sa_len=no)) -if test x"$ac_cv_sockaddr_has_sa_len" = "xyes" ; then - AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if sockaddr has sa_len member]) -fi - -dnl -dnl --------- end linc bits --------- -dnl - -dnl -dnl --------- set additional gcc flags to catch errors --------- -dnl -AX_CFLAGS_GCC_OPTION(-Werror-implicit-function-declaration) -CFLAGS="$CFLAGS $ORBIT_DEBUG_CFLAGS" -AC_SUBST(CFLAGS) - - -dnl ----- gtk-doc ------ -GTK_DOC_CHECK([1.0]) - - -AC_CONFIG_FILES([ -Makefile -orbit2-config -ORBit-2.0.pc -ORBit-2.0-uninstalled.pc -ORBit-CosNaming-2.0.pc -ORBit-CosNaming-2.0-uninstalled.pc -ORBit-imodule-2.0.pc -ORBit-imodule-2.0-uninstalled.pc -ORBit.spec -orbit2-zip -src/Makefile -src/idl-compiler/Makefile -src/idl-compiler/ORBit-idl-2.0.pc -src/idl/Makefile -src/idl/CORBA/Makefile -src/idl/CORBA_PIDL/Makefile -src/idl/interop/Makefile -src/idl/misc/Makefile -src/orb/Makefile -src/orb/include/Makefile -src/orb/util/Makefile -src/orb/GIOP/Makefile -src/orb/orb-core/Makefile -src/orb/dynamic/Makefile -src/orb/poa/Makefile -src/services/Makefile -src/services/name/Makefile -src/services/imodule/Makefile -include/Makefile -include/orbit/Makefile -include/orbit/orbit-config.h -include/orbit/GIOP/Makefile -include/orbit/util/Makefile -include/orbit/orb-core/Makefile -include/orbit/poa/Makefile -include/orbit/dynamic/Makefile -test/Makefile -test/everything/Makefile -test/inhibit/Makefile -test/poa/Makefile -docs/Makefile -docs/devel/Makefile -docs/internals/Makefile -docs/api/Makefile - -linc2/Makefile -linc2/src/Makefile -linc2/test/Makefile -linc2/include/Makefile -linc2/include/linc/Makefile -linc2/include/linc/linc-config.h -]) - -AC_OUTPUT - -echo "ORBit configuration: - - Source code location: ${srcdir} - Compiler: ${CC} - - Purify cleanliness: ${enable_purify} -" diff --git a/include/orbit/GIOP/giop.h b/include/orbit/GIOP/giop.h index 20a3a32..8d1dd7a 100644 --- a/include/orbit/GIOP/giop.h +++ b/include/orbit/GIOP/giop.h @@ -14,6 +14,7 @@ G_BEGIN_DECLS #ifdef ORBIT2_INTERNAL_API +void giop_set_main_context (GMainContext *context); void giop_init (gboolean thread_safe, gboolean blank_wire_data); void giop_main_run (void); diff --git a/include/orbit/orb-core/corba-orb.h b/include/orbit/orb-core/corba-orb.h index 2fc409b..3cc5087 100644 --- a/include/orbit/orb-core/corba-orb.h +++ b/include/orbit/orb-core/corba-orb.h @@ -32,6 +32,8 @@ gboolean ORBit_proto_use (const char *name); */ glong ORBit_get_giop_recv_limit (void); +void ORBit_set_giop_main_context (GMainContext *context); + #ifdef ORBIT2_INTERNAL_API void ORBit_ORB_forw_bind (CORBA_ORB orb, diff --git a/include/orbit/util/basic_types.h b/include/orbit/util/basic_types.h index 8702276..c8562ca 100644 --- a/include/orbit/util/basic_types.h +++ b/include/orbit/util/basic_types.h @@ -34,7 +34,6 @@ typedef CORBA_wchar *CORBA_wstring; typedef struct CORBA_Object_type *CORBA_Object; #endif -#ifdef G_HAVE_GINT64 #define HAVE_CORBA_LONG_LONG /* @@ -44,13 +43,6 @@ typedef struct CORBA_Object_type *CORBA_Object; typedef gint64 CORBA_long_long; typedef guint64 CORBA_unsigned_long_long; -#else -#error "" -#error "You don't G_HAVE_GINT64 defined in glib." -#error "Please make sure you don't have an old glibconfig.h lying around." -#error "" -#endif - G_END_DECLS #endif diff --git a/linc2/src/Makefile.am b/linc2/src/Makefile.am index 357a2dd..17024b5 100644 --- a/linc2/src/Makefile.am +++ b/linc2/src/Makefile.am @@ -8,16 +8,16 @@ endif # -I$(top_builddir)/include # -I$(top_srcdir)/include -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_builddir)/linc2/include \ -I$(top_srcdir)/linc2/include \ $(LINC_CFLAGS) \ $(WARN_CFLAGS) \ - -DG_DISABLE_DEPRECATED + $(DISABLE_DEPRECATED_CFLAGS) if OS_WIN32 else -INCLUDES += -D_GNU_SOURCE +AM_CPPFLAGS += -D_GNU_SOURCE endif liblinc_la_SOURCES = \ diff --git a/linc2/src/linc-protocols.c b/linc2/src/linc-protocols.c index e6895f4..22a77aa 100644 --- a/linc2/src/linc-protocols.c +++ b/linc2/src/linc-protocols.c @@ -383,6 +383,7 @@ link_protocol_is_local_ipv46 (const LinkProtocolInfo *proto, memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_CANONNAME; + hints.ai_family = proto->family; if (getaddrinfo(link_get_local_hostname(), NULL, &hints, &local_addr) != 0) { if (!warned++) diff --git a/linc2/test/Makefile.am b/linc2/test/Makefile.am index 1979b9a..c6532fe 100644 --- a/linc2/test/Makefile.am +++ b/linc2/test/Makefile.am @@ -2,7 +2,7 @@ noinst_PROGRAMS = test-linc # -I$(top_srcdir)/include # -I$(top_builddir)/include -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/linc2/include \ -I$(top_builddir)/linc2/include \ -I$(top_srcdir)/linc2/src \ diff --git a/src/idl-compiler/Makefile.am b/src/idl-compiler/Makefile.am index b45cae2..44b600b 100644 --- a/src/idl-compiler/Makefile.am +++ b/src/idl-compiler/Makefile.am @@ -2,7 +2,7 @@ bin_PROGRAMS = orbit-idl-2 orbit_backends_dir = $(libdir)/orbit-2.0/idl-backends -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_builddir) \ -I$(top_builddir)/include \ -I$(top_srcdir) \ diff --git a/src/orb/GIOP/Makefile.am b/src/orb/GIOP/Makefile.am index 189f9f8..08b3be3 100644 --- a/src/orb/GIOP/Makefile.am +++ b/src/orb/GIOP/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ -DORBIT2_INTERNAL_API \ diff --git a/src/orb/GIOP/giop.c b/src/orb/GIOP/giop.c index f287733..3109d1f 100644 --- a/src/orb/GIOP/giop.c +++ b/src/orb/GIOP/giop.c @@ -21,6 +21,7 @@ static int corba_wakeup_fds[2]; #define WAKEUP_POLL corba_wakeup_fds [0] #define WAKEUP_WRITE corba_wakeup_fds [1] +static GMainContext *giop_main_context = NULL; static GSource *giop_main_source = NULL; static GIOPThread *giop_main_thread = NULL; @@ -530,19 +531,26 @@ ORBit_get_safe_tmp (void) } void +giop_set_main_context (GMainContext *context) +{ + giop_main_context = context; +} + +void giop_init (gboolean thread_safe, gboolean blank_wire_data) { link_init (thread_safe); if (giop_thread_safe ()) { GIOPThread *tdata; + if (!giop_main_context) + giop_main_context = g_main_context_default(); /* We need a destructor to clean up if giopthreads are used * outside of ORBit controlled threads */ giop_tdata_private = g_private_new ((GDestroyNotify)giop_thread_free); - giop_main_thread = tdata = giop_thread_new ( - g_main_context_default ()); /* main thread */ + giop_main_thread = tdata = giop_thread_new (giop_main_context); /* main thread */ if (link_pipe (corba_wakeup_fds) < 0) /* cf. g_main_context_init_pipe */ g_error ("Can't create CORBA main-thread wakeup pipe"); @@ -556,7 +564,7 @@ giop_init (gboolean thread_safe, gboolean blank_wire_data) fcntl (WAKEUP_WRITE, F_SETFL, O_NONBLOCK); #endif giop_main_source = link_source_create_watch ( - g_main_context_default (), WAKEUP_POLL, + giop_main_context, WAKEUP_POLL, NULL, (G_IO_IN | G_IO_PRI), giop_mainloop_handle_input, NULL); diff --git a/src/orb/Makefile.am b/src/orb/Makefile.am index 2b443ba..f82227e 100644 --- a/src/orb/Makefile.am +++ b/src/orb/Makefile.am @@ -2,7 +2,7 @@ SUBDIRS=include orb-core util GIOP poa dynamic lib_LTLIBRARIES=libORBit-2.la -INCLUDES = \ +AM_CPPFLAGS = \ -I. \ -I$(srcdir) \ -I$(top_srcdir)/include \ diff --git a/src/orb/dynamic/Makefile.am b/src/orb/dynamic/Makefile.am index 330bf53..11e5785 100644 --- a/src/orb/dynamic/Makefile.am +++ b/src/orb/dynamic/Makefile.am @@ -5,7 +5,7 @@ liborb_dynamic_la_SOURCES= \ $(DYNAMIC_IDLOUT) \ dynany.c -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src/orb \ -I$(top_builddir)/include \ diff --git a/src/orb/orb-core/Makefile.am b/src/orb/orb-core/Makefile.am index 7cbed96..43b54ac 100644 --- a/src/orb/orb-core/Makefile.am +++ b/src/orb/orb-core/Makefile.am @@ -2,7 +2,7 @@ noinst_LTLIBRARIES=liborb-core.la TYPELIB_DIR=$(libdir)/orbit-2.0 -INCLUDES = \ +AM_CPPFLAGS = \ -I. \ -I$(srcdir) \ -I$(top_builddir)/include \ diff --git a/src/orb/orb-core/corba-orb.c b/src/orb/orb-core/corba-orb.c index 908535d..2b2229a 100644 --- a/src/orb/orb-core/corba-orb.c +++ b/src/orb/orb-core/corba-orb.c @@ -1442,6 +1442,12 @@ ORBit_get_giop_recv_limit (void) return giop_recv_get_limit (); } +void +ORBit_set_giop_main_context (GMainContext *context) +{ + giop_set_main_context (context); +} + const ORBit_option orbit_supported_options[] = { { "ORBid", ORBIT_OPTION_STRING, NULL }, /* FIXME: unimplemented */ { "ORBImplRepoIOR", ORBIT_OPTION_STRING, NULL }, /* FIXME: unimplemented */ diff --git a/src/orb/poa/Makefile.am b/src/orb/poa/Makefile.am index c42ae31..f47069c 100644 --- a/src/orb/poa/Makefile.am +++ b/src/orb/poa/Makefile.am @@ -2,7 +2,7 @@ noinst_LTLIBRARIES=liborb-poa.la IDL = $(top_builddir)/src/idl-compiler/orbit-idl-2 -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ -I$(top_builddir)/src/orb/orb-core \ diff --git a/src/orb/util/Makefile.am b/src/orb/util/Makefile.am index b391cd7..412be1f 100644 --- a/src/orb/util/Makefile.am +++ b/src/orb/util/Makefile.am @@ -1,6 +1,6 @@ noinst_LTLIBRARIES=liborb-util.la -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ -DORBIT_SYSTEM_RCFILE=\"$(sysconfdir)/orbitrc\" \ diff --git a/src/services/imodule/Makefile.am b/src/services/imodule/Makefile.am index e0731a4..f63c920 100644 --- a/src/services/imodule/Makefile.am +++ b/src/services/imodule/Makefile.am @@ -2,7 +2,7 @@ NULL = lib_LTLIBRARIES = libORBit-imodule-2.la -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ -DORBIT2_INTERNAL_API \ diff --git a/src/services/name/Makefile.am b/src/services/name/Makefile.am index 7212557..deda1ed 100644 --- a/src/services/name/Makefile.am +++ b/src/services/name/Makefile.am @@ -26,7 +26,7 @@ libORBitCosNaming_2_la_LDFLAGS = \ $(ORBIT_NAME_LIBS) \ $(top_builddir)/src/orb/libORBit-2.la -INCLUDES = \ +AM_CPPFLAGS = \ -I. \ -I$(top_builddir)/include \ -I$(top_srcdir)/include \ diff --git a/test/Makefile.am b/test/Makefile.am index a48d38e..87f35af 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,6 +1,6 @@ SUBDIRS = everything inhibit poa -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src/orb \ -I$(top_builddir)/include \ diff --git a/test/everything/Makefile.am b/test/everything/Makefile.am index 32beb36..cb4b1d6 100644 --- a/test/everything/Makefile.am +++ b/test/everything/Makefile.am @@ -10,7 +10,7 @@ EVERYTHING_IDLOUT = \ $(EVERYTHING_BUILT) \ everything-imodule.c -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ -I$(top_builddir)/src \ @@ -78,7 +78,7 @@ include $(top_srcdir)/Makefile.shared BUILT_SOURCES = ${EVERYTHING_BUILT} everything-imodule.c CLEANFILES = ${BUILT_SOURCES} iorfile -TESTS = $(srcdir)/test.sh +TESTS = $(top_builddir)/test/everything/test.sh EXTRA_DIST = $(IDL_FILES) test.sh $(included_src) diff --git a/test/inhibit/Makefile.am b/test/inhibit/Makefile.am index 3974d0d..ef26a21 100644 --- a/test/inhibit/Makefile.am +++ b/test/inhibit/Makefile.am @@ -1,7 +1,7 @@ noinst_PROGRAMS= \ test-inhibit -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ $(WARN_CFLAGS) \ diff --git a/test/poa/Makefile.am b/test/poa/Makefile.am index becfcfa..6cf9c38 100644 --- a/test/poa/Makefile.am +++ b/test/poa/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_builddir)/include \ $(WARN_CFLAGS) \ diff --git a/test/test-mem.c b/test/test-mem.c index 94d82f4..c194f30 100644 --- a/test/test-mem.c +++ b/test/test-mem.c @@ -236,9 +236,9 @@ main_func(int argc, char *argv[]) { PortableServer_POAManager_activate(poa_manager, ev); g_assert (!ORBIT_EX (ev)); - LEAK_DETECT_WITH_TOLERANCE (1000, test_ORBit_alloc (), 50); - LEAK_DETECT_WITH_TOLERANCE (1000, test_ORBit_sequence (), 50); - LEAK_DETECT_WITH_TOLERANCE (1000, test_activate_deactivate (poa, ev), 50); + LEAK_DETECT_WITH_TOLERANCE (1000, test_ORBit_alloc (), 200); + LEAK_DETECT_WITH_TOLERANCE (1000, test_ORBit_sequence (), 200); + LEAK_DETECT_WITH_TOLERANCE (1000, test_activate_deactivate (poa, ev), 200); /* tear down the ORB */ CORBA_Object_release ((CORBA_Object) poa_manager, ev);