1/* 2 * buildopts.h 3 * 4 * Build options generated by the configure script. 5 * 6 * Portable Windows Library 7 * 8 * Copyright (c) 2003 Equivalence Pty. Ltd. 9 * 10 * The contents of this file are subject to the Mozilla Public License 11 * Version 1.0 (the "License"); you may not use this file except in 12 * compliance with the License. You may obtain a copy of the License at 13 * http://www.mozilla.org/MPL/ 14 * 15 * Software distributed under the License is distributed on an "AS IS" 16 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 17 * the License for the specific language governing rights and limitations 18 * under the License. 19 * 20 * The Original Code is Portable Windows Library. 21 * 22 * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 23 * 24 * Contributor(s): ______________________________________. 25 * 26 * $Revision: 28259 $ 27 * $Author: rjongbloed $ 28 * $Date: 2012-08-28 00:01:10 -0500 (Tue, 28 Aug 2012) $ 29 */ 30 31#ifndef OPAL_BUILDOPTS_H 32#define OPAL_BUILDOPTS_H 33 34#include <ptbuildopts.h> 35 36///////////////////////////////////////////////// 37// 38// OPAL Version 39// 40 41#undef OPAL_MAJOR 42#undef OPAL_MINOR 43#undef OPAL_BUILD 44#undef OPAL_VERSION 45 46#define OPAL_CHECK_VERSION(major,minor,build) \ 47 (PTLIB_VERSION_INT(OPAL_MAJOR,OPAL_MINOR,OPAL_BUILD) >= PTLIB_VERSION_INT(major,minor,build)) 48 49#undef OPAL_PTLIB_SSL 50#undef OPAL_PTLIB_SSL_AES 51#undef OPAL_PTLIB_ASN 52#undef OPAL_PTLIB_EXPAT 53#undef OPAL_PTLIB_AUDIO 54#undef OPAL_PTLIB_VIDEO 55#undef OPAL_PTLIB_WAVFILE 56#undef OPAL_PTLIB_DTMF 57#undef OPAL_PTLIB_IPV6 58#ifndef _WIN32_WCE 59#undef OPAL_PTLIB_DNS 60#endif 61#ifndef P_IPHONEOS 62#undef OPAL_PTLIB_LDAP 63#endif 64#undef OPAL_PTLIB_VXML 65#undef OPAL_PTLIB_CONFIG_FILE 66#undef OPAL_AEC 67 68 69// If a "configure" did not set these variables above then they get set from PTlib variables 70 71#if defined(P_SSL) && !defined(OPAL_PTLIB_SSL) 72 #define OPAL_PTLIB_SSL P_SSL 73#endif 74#if defined(P_SSL_AES) && !defined(OPAL_PTLIB_SSL_AES) 75 #define OPAL_PTLIB_SSL_AES P_SSL_AES 76#endif 77#if defined(P_ASN) && !defined(OPAL_PTLIB_ASN) 78 #define OPAL_PTLIB_ASN P_ASN 79#endif 80#if defined(P_EXPAT) && !defined(OPAL_PTLIB_EXPAT) 81 #define OPAL_PTLIB_EXPAT P_EXPAT 82#endif 83#if defined(P_AUDIO) && !defined(OPAL_PTLIB_AUDIO) 84 #define OPAL_PTLIB_AUDIO P_AUDIO 85#endif 86#if defined(P_VIDEO) && !defined(OPAL_PTLIB_VIDEO) 87 #define OPAL_PTLIB_VIDEO P_VIDEO 88#endif 89#if defined(P_WAVFILE) && !defined(OPAL_PTLIB_WAVFILE) 90 #define OPAL_PTLIB_WAVFILE P_WAVFILE 91#endif 92#if defined(P_DTMF) && !defined(OPAL_PTLIB_DTMF) 93 #define OPAL_PTLIB_DTMF P_DTMF 94#endif 95#if defined(P_HAS_IPV6) && !defined(OPAL_PTLIB_IPV6) 96 #define OPAL_PTLIB_IPV6 P_HAS_IPV6 97#endif 98#if defined(P_DNS) && !defined(OPAL_PTLIB_DNS) 99 #define OPAL_PTLIB_DNS P_DNS 100#endif 101#if defined(P_LDAP) && !defined(OPAL_PTLIB_LDAP) 102 #define OPAL_PTLIB_LDAP P_LDAP 103#endif 104#if defined(P_VXML) && !defined(OPAL_PTLIB_VXML) 105 #define OPAL_PTLIB_VXML P_VXML 106#endif 107#if defined(P_CONFIG_FILE) && !defined(OPAL_PTLIB_CONFIG_FILE) 108 #define OPAL_PTLIB_CONFIG_FILE P_CONFIG_FILE 109#endif 110 111#undef OPAL_PLUGIN_DIR 112 113// Video 114#if P_VIDEO 115 #undef OPAL_VIDEO 116#endif 117 118 119///////////////////////////////////////////////// 120// 121// Protocol support 122// 123 124#undef OPAL_IAX2 125#undef OPAL_SIP 126#undef OPAL_H323 127#undef OPAL_LID 128#undef OPAL_CAPI 129#undef OPAL_T120DATA 130 131#if OPAL_PTLIB_VXML 132 #undef OPAL_IVR 133#endif 134 135#if OPAL_H323 136 #if OPAL_VIDEO 137 #undef OPAL_H239 138 #endif 139 #undef OPAL_H501 140 141 #undef OPAL_H450 142 #if OPAL_H450 143 #define H323_H450 OPAL_H450 144 #endif 145 146 #undef OPAL_H460 147 #if OPAL_H460 148 #define H323_H460 OPAL_H460 149 #endif 150#else // OPAL_H323 151 #define H323_DISABLE_H225 1 152 #define H323_DISABLE_H235 1 153 #define H323_DISABLE_H245 1 154#endif // OPAL_H323 155 156 157#if !OPAL_H450 158 #define H323_DISABLE_X880 1 159 #define H323_DISABLE_H4501 1 160 #define H323_DISABLE_H4502 1 161 #define H323_DISABLE_H4503 1 162 #define H323_DISABLE_H4504 1 163 #define H323_DISABLE_H4505 1 164 #define H323_DISABLE_H4506 1 165 #define H323_DISABLE_H4507 1 166 #define H323_DISABLE_H4508 1 167 #define H323_DISABLE_H4509 1 168 #define H323_DISABLE_H45010 1 169 #define H323_DISABLE_H45011 1 170#endif 171 172 173#if !OPAL_T120DATA 174 #define H323_DISABLE_GCC 1 175 #define H323_DISABLE_MCS 1 176#endif // OPAL_T120DATA 177 178 179#if !OPAL_H501 180 #define H323_DISABLE_H501 1 181#endif 182 183 184///////////////////////////////////////////////// 185// 186// Various options 187// 188 189#undef OPAL_STATISTICS 190#undef OPAL_RTCP_XR 191#undef GCC_HAS_CLZ 192 193#undef OPAL_HAS_MIXER 194#if OPAL_PTLIB_AUDIO 195 #undef OPAL_HAS_PCSS 196#endif 197 198 199///////////////////////////////////////////////// 200// 201// Media support 202// 203 204// G.711 Packet Loss Concealment 205#undef OPAL_G711PLC 206 207#if OPAL_VIDEO 208 // Uncompressed video over RTP 209 #undef OPAL_RFC4175 210 211 // JPEG over RTP 212 #undef OPAL_RFC2435 213 214 #if OPAL_RFC2435 215 #if defined(_MSC_VER) 216 #define JPEGLIB_LIBRARY "@JPEGLIB_DIR@/../lib/jpeg.lib" 217 #pragma include_alias(<jpeglib.h>, <@JPEGLIB_DIR@/jpeglib.h>) 218 #endif 219 #endif 220#endif 221 222 223// T.38 Fax 224#undef OPAL_T38_CAPABILITY 225 226#if OPAL_T38_CAPABILITY 227 #if OPAL_PTLIB_ASN 228 #undef OPAL_FAX 229 #endif 230#endif 231 232#if !OPAL_FAX 233 #define H323_DISABLE_T38 1 234#endif 235 236 237// Instant Messaging 238#undef OPAL_HAS_MSRP 239#if OPAL_SIP 240 #undef OPAL_HAS_SIPIM 241#endif 242#undef OPAL_HAS_RFC4103 243 244#define OPAL_HAS_IM (OPAL_HAS_SIPIM || OPAL_HAS_MSRP || OPAL_HAS_RFC4103) 245 246 247// Far end camera control 248#undef OPAL_HAS_H224 249#undef OPAL_HAS_H281 250 251 252// Use system Speex audio codec 253#undef OPAL_SYSTEM_SPEEX 254#undef OPAL_HAVE_SPEEX_SPEEX_H 255#undef OPAL_SPEEX_FLOAT_NOISE 256 257 258///////////////////////////////////////////////// 259// 260// VoiceTronic VPB Line Interface Devide support 261// 262 263#if OPAL_LID 264 #undef HAS_VPB 265 266 #if HAS_VPB 267 #if defined(_MSC_VER) 268 #pragma include_alias(<vpbapi.h>, <@VPB_DIR@/src/vpbapi.h>) 269 #define VPB_LIBRARY "@VPB_DIR@/win32/libvpb/Debug/libvpb.lib" 270 #endif 271 #endif 272#endif 273 274 275///////////////////////////////////////////////// 276// 277// libSRTP support 278// 279 280/* Temporarily disabled as is currently broken, doesn't work, 281 probably doesn't even compile, need to sort out API to enable/disable, 282 add SDP and H.245 handling, and link into libsrtp 283*/ 284//#undef HAS_LIBSRTP 285 286#if HAS_LIBSRTP && !OPAL_ZRTP && !defined(_WIN32_WCE) 287 288 #define OPAL_SRTP 1 289 290 #if defined(_MSC_VER) 291 292 #pragma include_alias("srtp/srtp.h", "@LIBSRTP_DIR@/include/srtp.h") 293 #pragma include_alias(<srtp/include/srtp.h>, <@LIBSRTP_DIR@/include/srtp.h>) 294 #pragma include_alias("crypto_kernel.h", "@LIBSRTP_DIR@/crypto/include/crypto_kernel.h") 295 #pragma include_alias("rdbx.h", "@LIBSRTP_DIR@/crypto/include/rdbx.h") 296 #pragma include_alias("rdb.h", "@LIBSRTP_DIR@/crypto/include/rdb.h") 297 #pragma include_alias("integers.h", "@LIBSRTP_DIR@/crypto/include/integers.h") 298 299 #ifdef _DEBUG 300 #define LIBSRTP_LIBRARY "@LIBSRTP_DIR@/Debug/libsrtp.lib" 301 #else 302 #define LIBSRTP_LIBRARY "@LIBSRTP_DIR@/Release/libsrtp.lib" 303 #endif 304 #endif 305#endif 306 307 308///////////////////////////////////////////////// 309// 310// libZRTP support 311// 312 313/* Temporarily disabled as is currently broken, doesn't work, 314 probably doesn't even compile, need to sort out API to enable/disable as 315 well as getting the pass code back to user, and link into libzrtp 316*/ 317//#undef HAS_LIBZRTP 318 319#if defined(OPAL_SRTP) && defined(HAS_LIBZRTP) && !defined(_WIN32_WCE) 320 321 #define OPAL_ZRTP 1 322 323 #if defined(_MSC_VER) 324 325 #ifdef _DEBUG 326 #define LIBZRTP_LIBRARY "@LIBZRTP_DIR@/Debug/libzrtp.lib" 327 #else 328 #define LIBZRTP_LIBRARY "@LIBZRTP_DIR@/Release/libzrtp.lib" 329 #endif 330 331 #pragma comment(lib, LIBZRTP_LIBRARY) 332 333 #pragma include_alias("WINCONFIG/config.h", "@LIBZRTP_DIR@/srtp_win32k/WINCONFIG/config.h") 334 #pragma include_alias("WINCONFIG\config.h", "@LIBZRTP_DIR@/srtp_win32k/WINCONFIG/config.h") 335 336 #pragma include_alias(<zrtp.h>, <@LIBZRTP_DIR@/include/zrtp.h>) 337 #pragma include_alias(<zrtp_log.h>, <@LIBZRTP_DIR@/include/zrtp_log.h>) 338 #pragma include_alias(<zrtp_types.h>, <@LIBZRTP_DIR@/include/zrtp_types.h>) 339 #pragma include_alias(<zrtp_crypto.h>, <@LIBZRTP_DIR@/include/zrtp_crypto.h>) 340 #pragma include_alias(<zrtp_protocol.h>, <@LIBZRTP_DIR@/include/zrtp_protocol.h>) 341 #pragma include_alias(<zrtp_string.h>, <@LIBZRTP_DIR@/include/zrtp_string.h>) 342 #pragma include_alias(<zrtp_iface.h>, <@LIBZRTP_DIR@/include/zrtp_iface.h>) 343 #pragma include_alias(<zrtp_error.h>, <@LIBZRTP_DIR@/include/zrtp_error.h>) 344 #pragma include_alias(<zrtp_net.h>, <@LIBZRTP_DIR@/include/zrtp_net.h>) 345 #pragma include_alias(<zrtp_system.h>, <@LIBZRTP_DIR@/include/zrtp_system.h>) 346 #pragma include_alias("bn.h", "@LIBZRTP_DIR@/bnlib/bn.h") 347 #pragma include_alias(<bn.h>, <@LIBZRTP_DIR@/bnlib/bn.h>) 348 #pragma include_alias("bnsize00.h", "@LIBZRTP_DIR@/bnlib/bnsize00.h") 349 #pragma include_alias(<bnsize00.h>, <@LIBZRTP_DIR@/bnlib/bnsize00.h>) 350 351 #pragma include_alias("aes.h", "@LIBZRTP_DIR@/bgaes/aes.h") 352 #pragma include_alias("sha2.h", "@LIBZRTP_DIR@/bgaes/sha2.h") 353 354 #pragma include_alias("zrtp_win_config.h", "@LIBZRTP_DIR@/config/zrtp_win_config.h") 355 356 357 // ZRTP includes SRTP, so include SRTP headers 358 359 #pragma include_alias("srtp.h", "@LIBZRTP_DIR@/srtp_win32k/include/srtp.h") 360 #pragma include_alias(<srtp.h>, <@LIBZRTP_DIR@/srtp_win32k/include/srtp.h>) 361 #pragma include_alias("srtp/srtp.h", "@LIBZRTP_DIR@/srtp_win32k/include/srtp.h") 362 #pragma include_alias(<srtp/include/srtp.h>, <@LIBZRTP_DIR@/srtp_win32k/include/srtp.h>) 363 #pragma include_alias("crypto_kernel.h", "@LIBZRTP_DIR@/srtp_win32k/crypto/include/crypto_kernel.h") 364 #pragma include_alias("rdbx.h", "@LIBZRTP_DIR@/srtp_win32k/crypto/include/rdbx.h") 365 #pragma include_alias("rdb.h", "@LIBZRTP_DIR@/srtp_win32k/crypto/include/rdb.h") 366 #pragma include_alias("integers.h", "@LIBZRTP_DIR@/srtp_win32k/crypto/include/integers.h") 367 368 // end of SRTP headers 369 370 #endif 371#endif 372 373 374///////////////////////////////////////////////// 375// 376// Java JNI support 377// 378 379#undef OPAL_JAVA 380 381#if OPAL_JAVA 382 #if defined(_MSC_VER) 383 #pragma include_alias(<jni.h>, <@JAVA_DIR@/include/jni.h>) 384 #pragma include_alias("jni_md.h", "@JAVA_DIR@/include/win32/jni_md.h") 385 #endif 386#endif 387 388 389///////////////////////////////////////////////// 390// 391// Ruby support 392// 393 394#if !defined(_WIN32_WCE) 395#undef OPAL_RUBY 396#endif 397 398#if OPAL_RUBY 399 400 #if defined(_MSC_VER) 401 #define RUBY_MSC_VER 1200 402 403 #pragma include_alias(<ruby.h>, <@RUBY_DIR@/ruby.h>) 404 #pragma include_alias("ruby/config.h", "@RUBY_DIR@/i386-mswin32/ruby/config.h") 405 #pragma include_alias("ruby/io.h", "@RUBY_DIR@/ruby/io.h") 406 #pragma include_alias("ruby/encoding.h", "@RUBY_DIR@/ruby/encoding.h") 407 #pragma include_alias("ruby/oniguruma.h", "@RUBY_DIR@/ruby/oniguruma.h") 408 409 #define RUBY_LIBRARY "@RUBY_DIR@/../../lib/msvcrt-ruby191.lib" 410 #endif 411 412#endif 413 414 415#endif // OPAL_BUILDOPTS_H 416 417 418// End Of File /////////////////////////////////////////////////////////////// 419