Autotools and libtool support.

This commit is contained in:
Vincent Richard 2004-12-30 09:32:32 +00:00
parent 8b8cf2b543
commit da55bd2c26
20 changed files with 909 additions and 165 deletions

View File

@ -2,6 +2,13 @@
VERSION 0.6.1-cvs
=================
2004-12-27 Vincent Richard <vincent@vincent-richard.net>
* Added support for 'libtool'. All files needed for autoconf/automake
can be generated with SConstruct script, using the 'autotools'
target ("scons autotools"). These are also built and included
automatically in the distribution tarball ("scons dist").
2004-12-26 Vincent Richard <vincent@vincent-richard.net>
* Removed relative paths from #include's and moved all header files
@ -71,7 +78,7 @@ VERSION 0.6.0
For example, to use the default platform handler for POSIX (GNU/Linux):
#include <vmime/platforms/posix/handler.hpp>
#include <vmime/platforms/posix/posixHandler.hpp>
int main()
{

View File

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
0.6.1

74
bootstrap Executable file
View File

@ -0,0 +1,74 @@
#! /bin/sh
#
# Bootstrap file for 'autotools' build
#
export WANT_AUTOCONF_2_5=1
export LANG=C
amvers="no"
if automake-1.8 --version >/dev/null 2>&1; then
amvers="-1.8"
#if automake-1.7 --version >/dev/null 2>&1; then
# amvers="-1.7"
#elif automake-1.6 --version >/dev/null 2>&1; then
# amvers="-1.6"
#elif automake-1.5 --version >/dev/null 2>&1; then
# amvers="-1.5"
elif automake --version > /dev/null 2>&1; then
amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`"
# if expr "$amvers" "<" "1.5" > /dev/null 2>&1; then
if expr "$amvers" "<" "1.8" > /dev/null 2>&1; then
amvers="no"
else
amvers=""
fi
fi
if test "$amvers" = "no"; then
echo "$0: you need automake version 1.8 or later"
exit 1
fi
rm -f aclocal.m4 configure config.guess config.log config.sub config.cache config.h.in config.h compile ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh INSTALL
rm -Rf autom4te.cache
(mkdir autotools >& /dev/null)
(cd autotools && rm -f config.guess config.sub missing mkinstalldirs compile ltmain.sh depcomp install-sh)
DIE=0
echo ""
if test $DIE = 0 ; then
echo -n "* Running aclocal... " ; (aclocal${amvers} >& bootstrap.tmpout) \
&& (echo "[OK]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout) \
|| (echo "[NO]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout ; not_a_command >& /dev/null) || DIE=1
fi
if test $DIE = 0 ; then
echo -n "* Running autoconf... " ; (autoconf >& bootstrap.tmpout) \
&& (echo "[OK]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout) \
|| (echo "[NO]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout ; not_a_command >& /dev/null) || DIE=1
fi
if test $DIE = 0 ; then
echo -n "* Running autoheader... " ; (autoheader >& bootstrap.tmpout) \
&& (echo "[OK]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout) \
|| (echo "[NO]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout ; not_a_command >& /dev/null) || DIE=1
fi
if test $DIE = 0 ; then
echo -n "* Running libtoolize... " ; (libtoolize --copy --force --automake >& bootstrap.tmpout) \
&& (echo "[OK]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout) \
|| (echo "[NO]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout ; not_a_command >& /dev/null) || DIE=1
fi
if test $DIE = 0 ; then
echo -n "* Running automake... " ; (automake${amvers} --add-missing --copy >& bootstrap.tmpout) \
&& (echo "[OK]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout) \
|| (echo "[NO]" ; cat bootstrap.tmpout ; rm -f bootstrap.tmpout ; not_a_command >& /dev/null) || DIE=1
fi
echo ""

View File

@ -30,7 +30,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
int main()

View File

@ -30,7 +30,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
int main()

View File

@ -30,7 +30,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
int main()

View File

@ -1,4 +1,5 @@
//
// VMime library (http://vmime.sourceforge.net)
// Copyright (C) 2002-2004 Vincent Richard <vincent@vincent-richard.net>
//
// This program is free software; you can redistribute it and/or
@ -29,7 +30,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
int main()

View File

@ -30,7 +30,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
int main()

View File

@ -20,7 +20,7 @@
#include <iostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
//

View File

@ -75,6 +75,12 @@ const string libname() { return (VMIME_PACKAGE); }
*/
const string libversion() { return (VMIME_VERSION " (" __DATE__ " " __TIME__ ")"); }
/** Return the library API version (eg. "6:1:6").
*
* @return library API version
*/
const string libapi() { return (VMIME_API); }
// New line sequence to be used when folding header fields.
const string NEW_LINE_SEQUENCE = "\r\n ";

View File

@ -23,7 +23,7 @@
#include "vmime/exception.hpp"
#include "vmime/config.hpp"
#include "builtinServices.inl"
#include "src/messaging/builtinServices.inl"
namespace vmime {

View File

@ -23,7 +23,7 @@
#include <ostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
using namespace unitpp;

View File

@ -23,7 +23,7 @@
#include <ostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
using namespace unitpp;

View File

@ -23,7 +23,7 @@
#include <ostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
#include "tests/parser/testUtils.hpp"

View File

@ -23,7 +23,7 @@
#include <ostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
using namespace unitpp;

View File

@ -23,7 +23,7 @@
#include <ostream>
#include "vmime/vmime.hpp"
#include "vmime/platforms/posix/handler.hpp"
#include "vmime/platforms/posix/posixHandler.hpp"
#include "tests/parser/testUtils.hpp"

View File

@ -54,6 +54,7 @@ namespace vmime
const string libname();
const string libversion();
const string libapi();
//

View File

@ -70,23 +70,23 @@ private:
public:
smart_ptr() : m_data(NULL) { }
smart_ptr(T* const ptr) : m_data(NULL) { if (ptr) { attach(ptr); } }
smart_ptr(smart_ptr& ptr) : m_data(NULL) { if (ptr.m_data) { attach(ptr); } }
smart_ptr(T* const p) : m_data(NULL) { if (p) { attach(p); } }
smart_ptr(smart_ptr& p) : m_data(NULL) { if (p.m_data) { attach(p); } }
~smart_ptr() { detach(); }
smart_ptr& operator=(smart_ptr& ptr)
smart_ptr& operator=(smart_ptr& p)
{
attach(ptr);
attach(p);
return (*this);
}
smart_ptr& operator=(T* const ptr)
smart_ptr& operator=(T* const p)
{
if (!ptr)
if (!p)
detach();
else
attach(ptr);
attach(p);
return (*this);
}
@ -123,11 +123,11 @@ private:
}
}
void attach(T* const ptr)
void attach(T* const p)
{
detach();
typename MapType::iterator it = sm_map.find(ptr);
typename MapType::iterator it = sm_map.find(p);
if (it != sm_map.end())
{
@ -137,15 +137,15 @@ private:
{
m_data = new data;
m_data->refCount = 1;
m_data->ptr = ptr;
m_data->ptr = p;
sm_map.insert(typename MapType::value_type(ptr, m_data));
sm_map.insert(typename MapType::value_type(p, m_data));
}
}
void attach(smart_ptr <T>& ptr)
void attach(smart_ptr <T>& p)
{
data* newData = ptr.m_data;
data* newData = p.m_data;
if (newData) newData->refCount++;
detach();