Search code examples
c++dllflagsjam

How to pass in cflags through jam


I'm attempting to compile and link a DLL through Jam. This is a resource-only DLL, so I need to figure out how to pass in the /noentry flag to the linker through Jam.

Here's what my Jamfile looks like right now:

// need to figure out how to specify the /noentry CFLAG somewhere here

PackageDll foo
    : NAME foo.dll
    : DESC  "Resource File"
    : USE_C
    ;

Build foo
    : system.pkg foo.rc
    : . 
    ;

Thanks in advance!


Solution

  • The syntax looks like jam, but the rules PackageDll and Build aren't standard (i.e. Perforce) jam rules. If those rules are implemented in a way that they finally invoke the standard jam Link actions, adding your flag to the on-target LINKFLAGS variable would do the trick. Assuming the name of the target is foo.dll (add whatever grist your rules add, if any), that can be done like this:

    LINKFLAGS on foo.dll = [ on foo.dll return $(LINKFLAGS) ] /noentry ;
    

    Not knowing what your rules do, best do that after they are invoked.