File 'config.hpp.msvc' is now automatically generated.

This commit is contained in:
Vincent Richard 2005-03-28 13:36:29 +00:00
parent 1673ecc41e
commit 4a70efe2de
3 changed files with 113 additions and 65 deletions

View File

@ -8,6 +8,9 @@ VERSION 0.6.4cvs
in the same packet as the request. This caused problems with some in the same packet as the request. This caused problems with some
servers (thanks to Donald Dade). servers (thanks to Donald Dade).
* SConstruct: modified 'msvc' target to generate automatically the
config file 'config.hpp.msvc'.
2005-03-27 Stefan Uhrig <stefanuhrig@gmx.net> 2005-03-27 Stefan Uhrig <stefanuhrig@gmx.net>
* Added Windows platform handlers. * Added Windows platform handlers.

View File

@ -700,6 +700,11 @@ if env['with_messaging'] == 'yes':
for proto in messaging_protocols: for proto in messaging_protocols:
config_hpp.write('#define VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(proto) + ' 1\n') config_hpp.write('#define VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(proto) + ' 1\n')
for p in libvmime_messaging_proto_sources:
proto = p[0]
if not proto in messaging_protocols:
config_hpp.write('#define VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(proto) + ' 0\n')
else: else:
config_hpp.write('#define VMIME_HAVE_MESSAGING_FEATURES 0\n') config_hpp.write('#define VMIME_HAVE_MESSAGING_FEATURES 0\n')
@ -710,6 +715,10 @@ config_hpp.write('#define VMIME_BUILTIN_PLATFORMS "' +
for platform in platforms: for platform in platforms:
config_hpp.write('#define VMIME_BUILTIN_PLATFORM_' + string.upper(platform) + ' 1\n') config_hpp.write('#define VMIME_BUILTIN_PLATFORM_' + string.upper(platform) + ' 1\n')
for platform in libvmime_platforms_sources:
if not platform in platforms:
config_hpp.write('#define VMIME_BUILTIN_PLATFORM_' + string.upper(platform) + ' 0\n')
config_hpp.write(""" config_hpp.write("""
#endif // VMIME_CONFIG_HPP_INCLUDED #endif // VMIME_CONFIG_HPP_INCLUDED
@ -1397,27 +1406,46 @@ VMIME_BUILTIN_MESSAGING_PROTOS=''
configure_in.write('else\n') configure_in.write('else\n')
configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(p) + ', false)\n') configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(p) + ', false)\n')
configure_in.write(' VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(p) + '=0\n') configure_in.write(' VMIME_BUILTIN_MESSAGING_PROTO_' + string.upper(p) + '=0\n')
configure_in.write('fi\n') configure_in.write('fi\n\n')
configure_in.write(""" configure_in.write("""
# ** platform handlers # ** platform handlers
VMIME_BUILTIN_PLATFORMS='' VMIME_BUILTIN_PLATFORMS=''
VMIME_DETECT_PLATFORM=''
case "x${target_os}" in
win* | mingw* | cygwin*)
VMIME_DETECT_PLATFORM='windows'
;;
x*)
# Default is POSIX
VMIME_DETECT_PLATFORM='posix'
;;
esac
""") """)
for p in libvmime_platforms_sources: for p in libvmime_platforms_sources:
configure_in.write('if test "x$VMIME_DETECT_PLATFORM" = "x' + p + '"; then\n')
configure_in.write(' conf_platform_' + p + '=yes\n')
configure_in.write('else\n')
configure_in.write(' conf_platform_' + p + '=no\n')
configure_in.write('fi\n\n')
configure_in.write("AC_ARG_ENABLE(platform-" + p + ",\n") configure_in.write("AC_ARG_ENABLE(platform-" + p + ",\n")
configure_in.write(" [ --enable-platform-" + p configure_in.write(" [ --enable-platform-" + p
+ " Compile built-in platform handler for '" + p + "' " + " Compile built-in platform handler for '" + p + "' "
+ " (default: enabled)],\n") + " (default: disabled, except if default for your platform)],\n")
configure_in.write(' [case "${enableval}" in\n') configure_in.write(' [case "${enableval}" in\n')
configure_in.write(' yes) conf_platform_' + p + '=yes ;;\n') configure_in.write(' yes) conf_platform_' + p + '=yes ;;\n')
configure_in.write(' no) conf_platform_' + p + '=no ;;\n') configure_in.write(' no) conf_platform_' + p + '=no ;;\n')
configure_in.write(' *) AC_MSG_ERROR(bad value ${enableval} for ' configure_in.write(' *) AC_MSG_ERROR(bad value ${enableval} for '
+ '--enable-platform-' + p + ') ;;\n') + '--enable-platform-' + p + ') ;;\n')
configure_in.write(' esac],\n') configure_in.write(' esac],\n')
configure_in.write(' [conf_platform_' + p + '=yes])\n') #configure_in.write(' [conf_platform_' + p + '=yes])\n')
configure_in.write(' [])\n')
configure_in.write('if test "x$conf_platform_' + p + '" = "xyes"; then\n') configure_in.write('if test "x$conf_platform_' + p + '" = "xyes"; then\n')
configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_PLATFORM_' + string.upper(p) + ', true)\n') configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_PLATFORM_' + string.upper(p) + ', true)\n')
@ -1426,7 +1454,7 @@ VMIME_BUILTIN_PLATFORMS=''
configure_in.write('else\n') configure_in.write('else\n')
configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_PLATFORM_' + string.upper(p) + ', false)\n') configure_in.write(' AM_CONDITIONAL(VMIME_BUILTIN_PLATFORM_' + string.upper(p) + ', false)\n')
configure_in.write(' VMIME_BUILTIN_PLATFORM_' + string.upper(p) + '=0\n') configure_in.write(' VMIME_BUILTIN_PLATFORM_' + string.upper(p) + '=0\n')
configure_in.write('fi\n') configure_in.write('fi\n\n')
configure_in.write(""" configure_in.write("""
@ -1576,7 +1604,7 @@ typedef unsigned ${VMIME_TYPE_INT32} vmime_uint32;
configure_in.write('// -- Built-in platform handlers\n') configure_in.write('// -- Built-in platform handlers\n')
configure_in.write('#define VMIME_BUILTIN_PLATFORMS \\"$VMIME_BUILTIN_PLATFORMS\\"\n') configure_in.write('#define VMIME_BUILTIN_PLATFORMS \\"$VMIME_BUILTIN_PLATFORMS\\"\n')
for p in platforms: for p in libvmime_platforms_sources:
p = string.upper(p) p = string.upper(p)
configure_in.write('#define VMIME_BUILTIN_PLATFORM_' + p configure_in.write('#define VMIME_BUILTIN_PLATFORM_' + p
+ " $VMIME_BUILTIN_PLATFORM_" + p + " \n") + " $VMIME_BUILTIN_PLATFORM_" + p + " \n")
@ -1815,8 +1843,85 @@ EndGlobal
""") """)
vmime_vcproj.close(); vmime_vcproj.close();
# config.hpp.msvc
config_hpp_msvc = open("config.hpp.msvc", 'w')
config_hpp_msvc.write("""
//
// This file was automatically generated by configuration script.
//
#ifndef VMIME_CONFIG_HPP_INCLUDED
#define VMIME_CONFIG_HPP_INCLUDED
// Name of package
#define VMIME_PACKAGE """ + '"' + packageName + '"' + """
// Version number of package
#define VMIME_VERSION """ + '"' + packageVersion + '"' + """
#define VMIME_API """ + '"' + packageAPI + '"' + """
// Target OS and architecture
#define VMIME_TARGET_ARCH "i686"
#define VMIME_TARGET_OS "windows"
// Set to 1 if debugging should be activated
#ifdef _DEBUG
# define VMIME_DEBUG 1
#else
# define VMIME_DEBUG 0
#endif
// Byte order (set one or the other, but not both!)
#define VMIME_BYTE_ORDER_BIG_ENDIAN 0
#define VMIME_BYTE_ORDER_LITTLE_ENDIAN 1
// Generic types
// -- 8-bit
typedef signed char vmime_int8;
typedef unsigned char vmime_uint8;
// -- 16-bit
typedef signed short vmime_int16;
typedef unsigned short vmime_uint16;
// -- 32-bit
typedef signed int vmime_int32;
typedef unsigned int vmime_uint32;
// Options
// -- Wide characters support
#define VMIME_WIDE_CHAR_SUPPORT 0
#define VMIME_INLINE_TEMPLATE_SPECIALIZATION 1
#define VMIME_NO_MULTIPLE_INHERITANCE 1
// -- File-system support
#define VMIME_HAVE_FILESYSTEM_FEATURES 1
// -- Messaging support
#define VMIME_HAVE_MESSAGING_FEATURES 1
// -- Built-in messaging protocols
#define VMIME_BUILTIN_MESSAGING_PROTOS " pop3 smtp imap maildir"
#define VMIME_BUILTIN_MESSAGING_PROTO_POP3 1
#define VMIME_BUILTIN_MESSAGING_PROTO_SMTP 1
#define VMIME_BUILTIN_MESSAGING_PROTO_IMAP 1
#define VMIME_BUILTIN_MESSAGING_PROTO_MAILDIR 1
// -- Built-in platform handlers
#define VMIME_BUILTIN_PLATFORMS "windows"
#define VMIME_BUILTIN_PLATFORM_WINDOWS 1
""")
for p in libvmime_platforms_sources:
if not (p == 'windows'):
p = string.upper(p)
config_hpp_msvc.write('#define VMIME_BUILTIN_PLATFORM_' + p + ' 0\n')
config_hpp_msvc.write("""
#endif // VMIME_CONFIG_HPP_INCLUDED
""")
config_hpp_msvc.close()
libvmime_dist_files.append("vmime.sln") libvmime_dist_files.append("vmime.sln")
libvmime_dist_files.append("vmime.vcproj") libvmime_dist_files.append("vmime.vcproj")
libvmime_dist_files.append("config.hpp.msvc")
return None return None

View File

@ -1,60 +0,0 @@
//
// This file was automatically generated by configuration script.
//
#ifndef VMIME_CONFIG_HPP_INCLUDED
#define VMIME_CONFIG_HPP_INCLUDED
// Name of package
#define VMIME_PACKAGE "libvmime"
// Version number of package
#define VMIME_VERSION "0.6.4"
#define VMIME_API "6:4:6"
// Target OS and architecture
#define VMIME_TARGET_ARCH "i686"
#define VMIME_TARGET_OS "msvc"
// Set to 1 if debugging should be activated
#define VMIME_DEBUG 0
// Byte order (set one or the other, but not both!)
#define VMIME_BYTE_ORDER_BIG_ENDIAN 0
#define VMIME_BYTE_ORDER_LITTLE_ENDIAN 1
// Generic types
// -- 8-bit
typedef signed char vmime_int8;
typedef unsigned char vmime_uint8;
// -- 16-bit
typedef signed short vmime_int16;
typedef unsigned short vmime_uint16;
// -- 32-bit
typedef signed int vmime_int32;
typedef unsigned int vmime_uint32;
// Options
// -- Wide characters support
#define VMIME_WIDE_CHAR_SUPPORT 0
#define VMIME_INLINE_TEMPLATE_SPECIALIZATION 1
#define VMIME_NO_MULTIPLE_INHERITANCE 1
// -- File-system support
#define VMIME_HAVE_FILESYSTEM_FEATURES 1
// -- Messaging support
#define VMIME_HAVE_MESSAGING_FEATURES 1
// -- Built-in messaging protocols
#define VMIME_BUILTIN_MESSAGING_PROTOS " pop3 smtp imap maildir"
#define VMIME_BUILTIN_MESSAGING_PROTO_POP3 1
#define VMIME_BUILTIN_MESSAGING_PROTO_SMTP 1
#define VMIME_BUILTIN_MESSAGING_PROTO_IMAP 1
#define VMIME_BUILTIN_MESSAGING_PROTO_MAILDIR 1
// -- Built-in platform handlers
#define VMIME_BUILTIN_PLATFORMS " windows"
#define VMIME_BUILTIN_PLATFORM_WINDOWS 1
#endif // VMIME_CONFIG_HPP_INCLUDED