valijson/thirdparty/urdl-2013-08-15/build/Jamfile
Tristan Penman 4c9864de73 Initial commit.
This commit contains the third major design of a C++ library for JSON Schema validation.

It is definitely not what I would consider production-ready, but I do think that the overall design of the library is robust.
2013-10-30 07:51:11 +11:00

103 lines
2.6 KiB
Plaintext

import common ;
import os ;
import modules ;
if [ os.name ] = SOLARIS
{
lib socket ;
lib nsl ;
}
else if [ os.name ] = NT
{
lib ws2_32 ;
lib mswsock ;
}
else if [ os.name ] = HPUX
{
lib ipv6 ;
}
local SSL_OPTIONS ;
if [ modules.peek : URDL_DISABLE_SSL ] = 1
{
SSL_OPTIONS = <define>URDL_DISABLE_SSL=1 ;
}
else if [ os.name ] = NT
{
OPENSSL_ROOT = [ modules.peek : OPENSSL_ROOT ] ;
lib user32 ;
lib advapi32 ;
lib gdi32 ;
SSL_OPTIONS = <include>$(OPENSSL_ROOT)/inc32
<library>$(OPENSSL_ROOT)/out32dll/libeay32.lib
<library>$(OPENSSL_ROOT)/out32dll/ssleay32.lib
<library>user32 <library>advapi32 <library>gdi32 ;
}
else
{
lib ssl ;
lib crypto ;
SSL_OPTIONS = <library>ssl <library>crypto ;
}
project urdl
:
source-location ../src
:
requirements
<threading>multi
:
usage-requirements
<link>shared:<define>URDL_DYN_LINK=1
<link>static:<define>URDL_STATIC_LINK=1
<include>$(URDL_ROOT)/include
<library>/boost/system//boost_system
<library>/boost/date_time//boost_date_time
<define>BOOST_ALL_NO_LIB=1
<os>SOLARIS:<library>socket
<os>SOLARIS:<library>nsl
<os>NT:<define>_WIN32_WINNT=0x0501
<os>NT:<define>WIN32_LEAN_AND_MEAN=1
<os>NT,<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1
<os>NT,<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1
<os>NT,<toolset>gcc:<library>ws2_32
<os>NT,<toolset>gcc:<library>mswsock
<os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
<os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
<os>HPUX:<library>ipv6
$(SSL_OPTIONS)
;
lib urdl
:
urdl.cpp
:
<link>shared:<define>BOOST_ALL_DYN_LINK=1
<link>static:<define>BOOST_ALL_STATIC_LINK=1
<include>$(URDL_ROOT)/include
<library>/boost/system//boost_system
<library>/boost/date_time//boost_date_time
<define>BOOST_ALL_NO_LIB=1
<os>SOLARIS:<library>socket
<os>SOLARIS:<library>nsl
<os>NT:<define>_WIN32_WINNT=0x0501
<os>NT,<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1
<os>NT,<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1
<os>NT,<toolset>gcc:<library>ws2_32
<os>NT,<toolset>gcc:<library>mswsock
<os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
<os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
<os>HPUX:<library>ipv6
<debug-symbols>on
<tag>@tag
$(SSL_OPTIONS)
;
rule tag ( name : type ? : property-set )
{
local result = [ common.format-name
<base> <runtime>
: $(name) : $(type) : $(property-set) ] ;
return "$(result)" ;
}