# Copyright 2003 Dave Abrahams # Copyright 2002, 2003, 2005 Vladimir Prus # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) import type ; import generators ; import os ; import print ; type.register FOO : foo ; generators.register-standard foo.foo : FOO : CPP H ; nl = " " ; rule foo ( targets * : sources * : properties * ) { # On NT, you need an exported symbol in order to have an # import lib generated # We won't really use the symbol defined here, just force # lib creation. if ( [ os.name ] = NT || [ modules.peek : OS ] in CYGWIN ) && LIB in $(properties) { .decl = "void __declspec(dllexport) foo(){}" ; } print.output $(<[1]) ; print.text $(.decl:E="//")$(nl) ; print.output $(<[2]) ; print.text "#include "$(nl) ; }