From 0a567e13278c96d2be0f077bb9f9dc3821c9a9dd Mon Sep 17 00:00:00 2001 From: Sam Varshavchik Date: Sep 29 2018 14:02:29 +0000 Subject: LibCXX API update. --- diff --git a/Doxyfile.in b/Doxyfile.in index 8779c0e..ced1a33 100644 --- a/Doxyfile.in +++ b/Doxyfile.in @@ -2033,6 +2033,9 @@ INCLUDE_FILE_PATTERNS = # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. PREDEFINED = DOXYGEN \ + LIBCXX_INTERNAL= \ + LIBCXX_HIDDEN= \ + LIBCXX_PUBLIC= \ libx_autogen_suppress_inner # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/Makefile.am b/Makefile.am index 440c870..95438a9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,7 +93,7 @@ pkginclude_HEADERS=\ stasher/versionedptr.H \ stasher/versionedput.H -noinst_PROGRAMS=\ +ALLTESTPROGS= \ stasherd.static \ stasher.static \ adminhalt.tst \ @@ -161,6 +161,9 @@ noinst_PROGRAMS=\ usersubscribe.tst \ verify.tst +EXTRA_PROGRAMS=$(ALLTESTPROGS) +noinst_PROGRAMS=@TESTPROGS@ + lib_LTLIBRARIES=libstasher-client.la libstasher.la libstasher_client_la_SOURCES=\ @@ -317,9 +320,11 @@ maxintsize_tst_LDADD=-lcxx newtran_tst_SOURCES=newtran.tst.C newtran_tst_LDADD=-lcxx +newtran_tst_LDFLAGS=-static objrepo_tst_SOURCES=objrepo.tst.C objrepo_tst_LDADD=libstasher.la +objrepo_tst_LDFLAGS=-static objwriter_tst_SOURCES=objwriter.tst.C objwriter_tst_LDADD=libstasher.la @@ -598,6 +603,9 @@ stasher_static_LDADD=libstasher-client.la @LIBREADLINE@ -lcourier-unicode stasher_static_LDFLAGS=-static check-am: + test '@TESTPROGS@' = '' || $(MAKE) check-testprograms + +check-testprograms: ./maxintsize.tst ./objrepo.tst ./tranmeta.tst diff --git a/client.C b/client.C index bd48fba..12b194d 100644 --- a/client.C +++ b/client.C @@ -77,7 +77,7 @@ const char clientBase::maxobjectsize[]="etc/maxobjectsize"; const char clientObj::lost_connection_errmsg[]="Lost connection to the server"; -class LIBCXX_HIDDEN clientObj::implObj : public fdobjrwthreadObj { +class clientObj::implObj : public fdobjrwthreadObj { LOG_CLASS_SCOPE; diff --git a/configure.ac b/configure.ac index defcad4..73199d0 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.66]) -AC_INIT(stasher, 0.06.1, [mrsam@courier-mta.com]) +AC_INIT(stasher, 0.07.0, [mrsam@courier-mta.com]) AM_INIT_AUTOMAKE(dist-bzip2 foreign) AC_CONFIG_SRCDIR([objrepo.H]) AC_CONFIG_HEADERS([objrepo_config.h]) @@ -32,11 +32,21 @@ AC_CHECK_HEADER([readline/readline.h], AC_SUBST(LIBREADLINE) +AC_ARG_WITH(testprograms, + [AS_HELP_STRING([--with-testprograms],[build test programs])], [ + TESTPROGS='$(ALLTESTPROGS)' + ], [ + TESTPROGS="" + ]) + +AC_SUBST(TESTPROGS) + # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. LIBCXX_INIT +LDFLAGS="$LDFLAGS -z relro -z now" AM_CONDITIONAL(HAVE_DOCBOOK,[test -d ${srcdir}/docbook]) AC_CONFIG_FILES(Doxyfile Makefile po/Makefile.in diff --git a/manager.C b/manager.C index 4b3b099..3899517 100644 --- a/manager.C +++ b/manager.C @@ -27,7 +27,7 @@ STASHER_NAMESPACE_START // nose in it. Therefore, we'll need to make sure that it's gone, using // x::destroy_callback_wait4. -class LIBCXX_HIDDEN managerObj::retmcguffinObj : virtual public obj { +class managerObj::retmcguffinObj : virtual public obj { public: x::ref impl; @@ -67,7 +67,7 @@ class LIBCXX_HIDDEN managerObj::retmcguffinBaseObj { }; -class LIBCXX_HIDDEN managerObj::implObj : virtual public x::obj { +class managerObj::implObj : virtual public x::obj { public: diff --git a/po/stasher.pot b/po/stasher.pot index 8023dfc..320e309 100644 --- a/po/stasher.pot +++ b/po/stasher.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: stasher 0.06.1\n" +"Project-Id-Version: stasher 0.07.0\n" "Report-Msgid-Bugs-To: mrsam@courier-mta.com\n" -"POT-Creation-Date: 2018-02-11 18:59-0500\n" +"POT-Creation-Date: 2018-09-28 08:40-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/stasher/client.H b/stasher/client.H index 49bfd6f..74e37c5 100644 --- a/stasher/client.H +++ b/stasher/client.H @@ -30,8 +30,6 @@ STASHER_NAMESPACE_START -class clientBase; - //! Reference-counted object for a client connection to an object repository //! This object is not instantiated directly, but by using @@ -46,7 +44,7 @@ class clientBase; class clientObj : virtual public x::obj { public: - class implObj; + class LIBCXX_HIDDEN implObj; private: //! Socket connection std::string sockname; diff --git a/stasher/clientfwd.H b/stasher/clientfwd.H index 25dd532..94198af 100644 --- a/stasher/clientfwd.H +++ b/stasher/clientfwd.H @@ -15,8 +15,8 @@ STASHER_NAMESPACE_START -class clientObj; -class clientBase; +class LIBCXX_PUBLIC clientObj; +class LIBCXX_PUBLIC clientBase; //! A connection to an object repository diff --git a/stasher/manager.H b/stasher/manager.H index cfdf063..4196820 100644 --- a/stasher/manager.H +++ b/stasher/manager.H @@ -25,7 +25,7 @@ STASHER_NAMESPACE_START -class managerObj; +class LIBCXX_PUBLIC managerObj; //! Create a managedobject() that takes care of deserializing the object. @@ -80,7 +80,7 @@ class managerObj : virtual public x::obj { //! The logging object LOG_CLASS_SCOPE; - class implObj; + class LIBCXX_HIDDEN implObj; //! Internal implementation object. x::ref impl; @@ -135,8 +135,8 @@ private: typename connectionFunctor> class simpleManagedObjectObj; - class retmcguffinObj; - class retmcguffinBaseObj; + class LIBCXX_HIDDEN retmcguffinObj; + class LIBCXX_HIDDEN retmcguffinBaseObj; //! The mcguffin that's actually returned by all the manage_() methods.