fixed bug #1670741 - NSIS Menu can't be built on linux due to .rc & .cpp -> .o

added automatic code that changes the target name of resource files to something slightly unique


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4960 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-03-01 21:05:43 +00:00
parent 695fddbc32
commit 9cbba1c7ba
2 changed files with 8 additions and 7 deletions

View file

@ -25,4 +25,4 @@ docs = Split("""
Import('BuildPlugin') Import('BuildPlugin')
BuildPlugin(target, files, libs, examples, docs, res = resources, res_target = 'StartMenuRC') BuildPlugin(target, files, libs, examples, docs, res = resources)

View file

@ -435,9 +435,10 @@ def AddEnvStandardFlags(env, defines, flags, entry, nodeflib):
if nodeflib: if nodeflib:
env.Append(LINKFLAGS = '$NODEFLIBS_FLAG') # no default libraries env.Append(LINKFLAGS = '$NODEFLIBS_FLAG') # no default libraries
def AppendRES(env, source, res, resources, target_name = None): def AppendRES(env, source, res, resources):
if res: if res:
target_res = env.RES(target_name, res) target = MakeFileList(res)[0].name.replace('.rc', '-rc')
target_res = env.RES(target, res)
if resources: if resources:
env.Depends(target_res, resources) env.Depends(target_res, resources)
source.append(target_res) source.append(target_res)
@ -456,9 +457,9 @@ def DistributeExtras(env, target, examples, docs):
###################################################################### ######################################################################
def BuildPlugin(target, source, libs, examples = None, docs = None, def BuildPlugin(target, source, libs, examples = None, docs = None,
entry = 'DllMain', res = None, res_target = None, entry = 'DllMain', res = None, resources = None,
resources = None, defines = None, flags = None, defines = None, flags = None, nodeflib = True,
nodeflib = True, cppused = False): cppused = False):
env = plugin_env.Clone() env = plugin_env.Clone()
if cppused and env['CPP_REQUIRES_STDLIB']: if cppused and env['CPP_REQUIRES_STDLIB']:
@ -466,7 +467,7 @@ def BuildPlugin(target, source, libs, examples = None, docs = None,
AddEnvStandardFlags(env, defines, flags, entry, nodeflib) AddEnvStandardFlags(env, defines, flags, entry, nodeflib)
AppendRES(env, source, res, resources, res_target) AppendRES(env, source, res, resources)
plugin = env.SharedLibrary(target, source, LIBS = libs) plugin = env.SharedLibrary(target, source, LIBS = libs)
defenv.Alias(target, plugin) defenv.Alias(target, plugin)