[enable_vgauth=no],
[with_xml2=yes])
+AC_ARG_WITH([tirpc],
+ [AS_HELP_STRING([--without-tirpc],
+ [compiles with/without libtirpc.])],
+ [],
+ [with_tirpc=auto])
# Make sure we are building with openssl 1.0.1 and above so that
# we use only TLSv1_2.
fi
+if test "$with_tirpc" != "no"; then
+ AC_VMW_CHECK_LIB([libtirpc],
+ [TIRPC],
+ [libtirpc],
+ [],
+ [],
+ [],
+ [],
+ [have_tirpc="yes"],
+ [have_tirpc="no"])
+fi
+
+if test "$with_tirpc" != "yes"; then
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
+
+ int main()
+ {
+ struct xdr_ops xdr;
+#if defined(__GLIBC__)
+ xdr.x_putint32(NULL, NULL);
+#endif
+ return 0;
+ }
+ ]])], [need_tirpc="no"], [need_tirpc="yes"])
+ AC_MSG_NOTICE([tirpc is needed: $need_tirpc])
+fi
+
+if test "$with_tirpc" = "no"; then
+ if test "$need_tirpc" = "yes"; then
+ AC_MSG_ERROR([libtirpc is required but it is disabled.])
+ fi
+ use_tirpc="no"
+elif test "$with_tirpc" = "auto"; then
+ if test "$need_tirpc" = "yes" -a "$have_tirpc" = "no"; then
+ AC_MSG_ERROR([cannot find libtirpc but it is required.])
+ fi
+ use_tirpc=$need_tirpc
+elif test "$with_tirpc" = "yes"; then
+ if test "$have_tirpc" = "no"; then
+ AC_MSG_ERROR([cannot build with libtirpc because it cannot be found.])
+ fi
+ use_tirpc="yes"
+fi
+
+XDR_LIBS=
+XDR_CPPFLAGS=
+if test "$use_tirpc" = "yes"; then
+ AC_MSG_NOTICE([building with libtirpc])
+ XDR_LIBS="$TIRPC_LIBS"
+ XDR_CPPFLAGS="-DUSE_TIRPC $TIRPC_CPPFLAGS"
+else
+ AC_MSG_NOTICE([building without libtirpc])
+ # In Solaris, the XDR-related functions are not in libc like in Linux and
+ # FreeBSD, so binaries need to be linked to some extra libraries.
+ if test "$os" = "solaris"; then
+ XDR_LIBS="-lnsl -lrpcsvc"
+ fi
+fi
+
AC_PATH_PROG(
[RPCGEN],
[rpcgen],
- [ AC_MSG_ERROR([rpcgen not found. Please install the libc devel package.]) ])
+ [not_found])
+if test "$RPCGEN" == "not_found"; then
+ AC_MSG_ERROR([rpcgen not found.])
+fi
###
### Headers
AM_CONDITIONAL(HAVE_XCOMPOSITE, test "$have_xcomposite" = "yes")
AM_CONDITIONAL(ENABLE_TESTS, test "$have_cunit" = "yes")
AM_CONDITIONAL(WITH_ROOT_PRIVILEGES, test "$with_root_privileges" = "yes")
-AM_CONDITIONAL(HAVE_DNET, test "$have_dnet" = "yes")
AM_CONDITIONAL(HAVE_DOXYGEN, test "$have_doxygen" = "yes")
AM_CONDITIONAL(HAVE_FUSE, test "$have_fuse" = "yes")
AM_CONDITIONAL(HAVE_GNU_LD, test "$with_gnu_ld" = "yes")
PLUGIN_CPPFLAGS="$VMTOOLS_CPPFLAGS $PLUGIN_CPPFLAGS"
PLUGIN_LDFLAGS="-Wl,-z,defs -Wl,-lc -Wl,--as-needed -shared -module -avoid-version"
-# In Solaris, the XDR-related functions are not in libc like in Linux and
-# FreeBSD, so binaries need to be linked to some extra libraries.
-XDR_LIBS=
-if test "$os" = "solaris"; then
- XDR_LIBS="-lnsl -lrpcsvc"
-fi
-
# Installation directories for core services plugins.
TEST_PLUGIN_INSTALLDIR=$datadir/open-vm-tools/tests
COMMON_PLUGIN_INSTALLDIR=$libdir/open-vm-tools/plugins/common
AC_SUBST([VMTOOLS_LIBS])
AC_SUBST([RPCGENFLAGS])
AC_SUBST([XDR_LIBS])
+AC_SUBST([XDR_CPPFLAGS])
AC_SUBST([TEST_PLUGIN_INSTALLDIR])
AC_SUBST([COMMON_PLUGIN_INSTALLDIR])
AC_SUBST([VMSVC_PLUGIN_INSTALLDIR])
################################################################################
-### Copyright (C) 2008-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2008-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
noinst_LTLIBRARIES = libDynxdr.la
-libDynxdr_la_SOURCES =
+libDynxdr_la_SOURCES =
libDynxdr_la_SOURCES += dynxdr.c
libDynxdr_la_SOURCES += xdrutil.c
+libDynxdr_la_CPPFLAGS =
+libDynxdr_la_CPPFLAGS += @XDR_CPPFLAGS@
+
+libDynxdr_la_LIBADD =
+libDynxdr_la_LIBADD += @XDR_LIBS@
+
/*********************************************************
- * Copyright (C) 2008-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2008-2018 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* Mac OS X, FreeBSD and Solaris don't take a const parameter to the
* "x_getpostn" function.
*/
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun) || defined(USE_TIRPC)
# define DYNXDR_GETPOS_CONST
#else
# define DYNXDR_GETPOS_CONST const
}
-#if defined(__GLIBC__) || (defined(sun) && (defined(_LP64) || defined(_KERNEL)))
+#if !defined(USE_TIRPC) && \
+ defined(__GLIBC__) || \
+ (defined(sun) && \
+ (defined(_LP64) || \
+ defined(_KERNEL)))
/*
*-----------------------------------------------------------------------------
*
DynXdrSetPos, /* x_setpostn */
DynXdrInline, /* x_inline */
NULL, /* x_destroy */
-#if defined(__GLIBC__)
+#if defined(__APPLE__) || defined(USE_TIRPC)
+ NULL, /* x_control */
+#elif defined(__GLIBC__)
NULL, /* x_getint32 */
DynXdrPutInt32, /* x_putint32 */
-#elif defined(__APPLE__)
- NULL, /* x_control */
#elif defined(sun) && (defined(_LP64) || defined(_KERNEL))
NULL, /* x_control */
NULL, /* x_getint32 */
################################################################################
-### Copyright (C) 2008-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2008-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
nicinfo_xdr.c: nicinfo.x nicinfo.h
@RPCGEN_WRAPPER@ lib/guestRpc/nicinfo.x $@
+libGuestRpc_la_CPPFLAGS =
+libGuestRpc_la_CPPFLAGS += @XDR_CPPFLAGS@
+
+libGuestRpc_la_LIBADD =
+libGuestRpc_la_LIBADD += @XDR_LIBS@
+
################################################################################
-### Copyright (C) 2007-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2007-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libNetUtil_la_SOURCES =
libNetUtil_la_SOURCES += netUtilLinux.c
+libNetUtil_la_CPPFLAGS =
+libNetUtil_la_CPPFLAGS += @XDR_CPPFLAGS@
+
+libNetUtil_la_LIBADD =
+libNetUtil_la_LIBADD += @XDR_LIBS@
+
################################################################################
-### Copyright (C) 2014-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2014-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libNicInfo_la_CPPFLAGS =
libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@
-
-AM_CFLAGS = $(DNET_CPPFLAGS)
+libNicInfo_la_CPPFLAGS += @XDR_CPPFLAGS@
+libNicInfo_la_CPPFLAGS += $(DNET_CPPFLAGS)
if USE_SLASH_PROC
-AM_CFLAGS += -DUSE_SLASH_PROC
+libNicInfo_la_CPPFLAGS += -DUSE_SLASH_PROC
endif
+
libNicInfo_la_LIBADD =
-if HAVE_DNET
- libNicInfo_la_LIBADD += @DNET_LIBS@
-endif
+libNicInfo_la_LIBADD += @DNET_LIBS@
+libNicInfo_la_LIBADD += @XDR_LIBS@
################################################################################
-### Copyright (C) 2009-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2009-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libRpcChannel_la_CPPFLAGS =
libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@
+libRpcChannel_la_CPPFLAGS += @XDR_CPPFLAGS@
+
+libRpcChannel_la_LIBADD =
+libRpcChannel_la_LIBADD += @XDR_LIBS@
+
################################################################################
-### Copyright (C) 2007-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2007-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libSlashProc_la_CPPFLAGS =
libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@
-
-AM_CFLAGS = $(DNET_CPPFLAGS)
+libSlashProc_la_CPPFLAGS += @DNET_CPPFLAGS@
#include "panic.h"
#include "slashProc.h"
#include "slashProcNetInt.h"
-#include "netutil.h"
/*
################################################################################
-### Copyright (C) 2007-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2007-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libguestlib_la_LIBADD =
libguestlib_la_LIBADD += @VMTOOLS_LIBS@
+libguestlib_la_LIBADD += @XDR_LIBS@
libguestlib_la_SOURCES =
libguestlib_la_SOURCES += guestlibV3_xdr.c
libguestlib_la_CPPFLAGS =
libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB
libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@
+libguestlib_la_CPPFLAGS += @XDR_CPPFLAGS@
EXTRA_DIST = vmguestlib.pc.in
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/xutils
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/fakeMouse
libdndcp_la_CPPFLAGS += -I$(top_srcdir)/include
+libdndcp_la_CPPFLAGS += @XDR_CPPFLAGS@
# Passing C++ related flags to CPPFLAGS generates error.
# So, we need to pass these to C++ compilation only.
libdndcp_la_LIBADD += @VMTOOLS_LIBS@
libdndcp_la_LIBADD += @HGFS_LIBS@
libdndcp_la_LIBADD += $(top_builddir)/lib/hgfsUri/hgfsUriPosix.lo
+libdndcp_la_LIBADD += @XDR_LIBS@
libdndcp_la_SOURCES =
################################################################################
-### Copyright (C) 2009-2017 VMware, Inc. All rights reserved.
+### Copyright (C) 2009-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libguestInfo_la_CPPFLAGS =
libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libguestInfo_la_CPPFLAGS += @XDR_CPPFLAGS@
libguestInfo_la_LDFLAGS =
libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@
libguestInfo_la_LIBADD += @VMTOOLS_LIBS@
libguestInfo_la_LIBADD += @XDR_LIBS@
-if HAVE_DNET
- libguestInfo_la_LIBADD += @DNET_LIBS@
-endif
+libguestInfo_la_LIBADD += @DNET_LIBS@
libguestInfo_la_SOURCES =
libguestInfo_la_SOURCES += guestInfoServer.c
/*********************************************************
- * Copyright (C) 2008-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2008-2018 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
#include <sys/stat.h>
#include <fcntl.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "vmware.h"
-#include "debug.h"
-#include "rpcout.h"
-#include "str.h"
#include "strutil.h"
-#include "xdrutil.h"
#include "vmware/guestrpc/tclodefs.h"
#include "vmware/tools/plugin.h"
#include "vmware/tools/utils.h"
/*********************************************************
- * Copyright (C) 2008-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2008-2018 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
#include "resolutionInt.h"
-#include "xdrutil.h"
#include "vmware/guestrpc/tclodefs.h"
#include "vmware/tools/plugin.h"
#include "vmware/tools/utils.h"
################################################################################
-### Copyright (C) 2009-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2009-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libvix_la_CPPFLAGS =
libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public
+libvix_la_CPPFLAGS += @XDR_CPPFLAGS@
libvix_la_LDFLAGS =
libvix_la_LDFLAGS += @PLUGIN_LDFLAGS@
if ENABLE_VGAUTH
libvix_la_LIBADD += $(top_builddir)/vgauth/lib/libvgauth.la
endif
+libvix_la_LIBADD += @XDR_LIBS@
libvix_la_SOURCES =
libvix_la_SOURCES += foundryToolsDaemon.c
#include "str.h"
#include "file.h"
#include "err.h"
-#include "guestInfo.h" // MAX_VALUE_LEN
#include "hostinfo.h"
#include "guest_os.h"
#include "guest_msg_def.h"
################################################################################
-### Copyright (C) 2009-2017 VMware, Inc. All rights reserved.
+### Copyright (C) 2009-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
libvmbackup_la_CPPFLAGS =
libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@
+libvmbackup_la_CPPFLAGS += @XDR_CPPFLAGS@
libvmbackup_la_LDFLAGS =
libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@
libvmbackup_la_LIBADD =
libvmbackup_la_LIBADD += @GOBJECT_LIBS@
libvmbackup_la_LIBADD += @VMTOOLS_LIBS@
+libvmbackup_la_LIBADD += @XDR_LIBS@
libvmbackup_la_SOURCES =
libvmbackup_la_SOURCES += nullProvider.c
#include "vmBackupInt.h"
-#include "dynxdr.h"
#include <glib-object.h>
#include <gmodule.h>
#include "guestApp.h"
################################################################################
-### Copyright (C) 2007-2016 VMware, Inc. All rights reserved.
+### Copyright (C) 2007-2018 VMware, Inc. All rights reserved.
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
vmware_toolbox_cmd_LDADD =
vmware_toolbox_cmd_LDADD += ../libguestlib/libguestlib.la
vmware_toolbox_cmd_LDADD += @VMTOOLS_LIBS@
+vmware_toolbox_cmd_LDADD += @XDR_LIBS@
vmware_toolbox_cmd_CPPFLAGS =
vmware_toolbox_cmd_CPPFLAGS += @VMTOOLS_CPPFLAGS@
+vmware_toolbox_cmd_CPPFLAGS += @XDR_CPPFLAGS@
vmware_toolbox_cmd_SOURCES =
vmware_toolbox_cmd_SOURCES += toolbox-cmd.c