mirror of
https://github.com/boostorg/build.git
synced 2026-02-02 20:52:13 +00:00
that we have a use case. Add an explanation in code. More details will be posted to the list. [SVN r18475]
62 lines
1.3 KiB
Python
62 lines
1.3 KiB
Python
#!/usr/bin/python
|
|
|
|
# Copyright (C) Vladimir Prus 2003. Permission to copy, use, modify, sell and
|
|
# distribute this software is granted provided this copyright notice appears in
|
|
# all copies. This software is provided "as is" without express or implied
|
|
# warranty, and with no claim as to its suitability for any purpose.
|
|
|
|
|
|
from BoostBuild import Tester, List
|
|
|
|
|
|
t = Tester()
|
|
|
|
# Attempt to declare a generator for creating OBJ from RC files.
|
|
# That generator should be considered together with standard
|
|
# CPP->OBJ generators and successfully create the target.
|
|
# Since we don't have RC compiler everywhere, we fake the action.
|
|
# The resulting OBJ will be unusable, but it must be created.
|
|
|
|
t.write("project-root.jam", """
|
|
import rc ;
|
|
""")
|
|
|
|
t.write("rc.jam", """
|
|
import type ;
|
|
import generators ;
|
|
import print ;
|
|
|
|
type.register RC : rc ;
|
|
|
|
rule resource-compile ( targets * : sources * : properties * )
|
|
{
|
|
print.output $(targets[1]) ;
|
|
print.text "rc-object" ;
|
|
}
|
|
|
|
generators.register-standard rc.resource-compile : RC : OBJ ;
|
|
|
|
""")
|
|
|
|
t.write("Jamfile", """
|
|
exe hello : hello.cpp r.rc ;
|
|
""")
|
|
|
|
t.write("hello.cpp", """
|
|
int main()
|
|
{
|
|
return 0;
|
|
}
|
|
""")
|
|
|
|
t.write("r.rc", """
|
|
""")
|
|
|
|
t.run_build_system(status=1, stderr=None)
|
|
t.expect_content("bin/$toolset/debug/r.obj", "rc-object\n")
|
|
|
|
t.cleanup()
|
|
|
|
|
|
|