mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 01:12:13 +00:00
52 lines
1.3 KiB
Plaintext
52 lines
1.3 KiB
Plaintext
# Copyright (C) Andre Hentz 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.
|
|
|
|
import type ;
|
|
import generators ;
|
|
import feature ;
|
|
|
|
type.register RC : rc ;
|
|
|
|
rule resource-compile ( target : sources * : properties * )
|
|
{
|
|
local OS = [ feature.get-values <os> : $(properties) ] ;
|
|
switch $(OS)
|
|
{
|
|
case "NT" :
|
|
resource-compile-nt $(target) : $(sources[1]) ;
|
|
case "CYGWIN" :
|
|
resource-compile-cygwin $(target) : $(sources[1]) ;
|
|
case "FREEBSD" :
|
|
create-empty-object $(target) : $(sources[1]) ;
|
|
case "*" :
|
|
errors.error "Cannot process RC files for OS=$(OS)" ;
|
|
}
|
|
}
|
|
|
|
|
|
actions quietly resource-compile-nt
|
|
{
|
|
rc /i "$(>:D)" /fo "$(<)" "$(>)"
|
|
}
|
|
|
|
actions quietly resource-compile-cygwin
|
|
{
|
|
windres --include-dir "$(>:D)" -o "$(<)" -i "$(>)"
|
|
}
|
|
|
|
actions quietly create-empty-object
|
|
{
|
|
as /dev/null -o "$(<)"
|
|
}
|
|
|
|
# Since it's a common practice to write
|
|
# exe hello : hello.cpp hello.rc
|
|
# we change the name of object created from RC file, to
|
|
# avoid conflict with hello.cpp.
|
|
generators.register-standard rc.resource-compile : RC : OBJ(%_res) ;
|
|
|
|
|
|
|