summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gaugler <thomas@dadie.net>2019-08-23 15:07:51 +0200
committerThomas Gaugler <thomas@dadie.net>2019-08-23 15:07:51 +0200
commit761d0309750f3a8fb4e63db3c09d55b357fb2fb7 (patch)
tree11bc478d57c2c5bec7a99b92ccf359947e17908b
parentc045c586f5c51b5f30582ec2b8c99a5ef791cb89 (diff)
Propgate SOURCE_DATE_EPOCH environment variable
Bug: https://sourceforge.net/p/nsis/patches/294/ Gbp-Pq: Name source_date_epoch.patch
-rwxr-xr-xSConstruct27
1 files changed, 17 insertions, 10 deletions
diff --git a/SConstruct b/SConstruct
index dffcd62..110ed04 100755
--- a/SConstruct
+++ b/SConstruct
@@ -63,20 +63,28 @@ doctypes = [
####### Build Environment ###
######################################################################
+import os
path = ARGUMENTS.get('PATH', '')
toolset = ARGUMENTS.get('TOOLSET', '')
-arch = ARGUMENTS.get('TARGET_ARCH', 'x86')
+defenv = {
+ 'TARGET_ARCH': ARGUMENTS.get('TARGET_ARCH', 'x86'),
+ 'ENV': {}
+}
-if toolset and path:
- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path}, TOOLS = toolset.split(',') + ['zip'])
+if 'SOURCE_DATE_EPOCH' in os.environ:
+ defenv['ENV']['SOURCE_DATE_EPOCH'] = os.environ['SOURCE_DATE_EPOCH']
+if path:
+ defenv['ENV']['PATH'] = path
+elif len(defenv['ENV']) == 0:
+ del defenv['ENV']
else:
- if path:
- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path})
- if toolset:
- defenv = Environment(TARGET_ARCH = arch, TOOLS = toolset.split(',') + ['zip'])
-if not toolset and not path:
- defenv = Environment(TARGET_ARCH = arch)
+ # Propgate PATH if at least one environment variable is set
+ defenv['ENV']['PATH'] = os.environ['PATH']
+if toolset:
+ defenv['TOOLS'] = toolset.split(',') + ['zip']
+
+defenv = Environment(**defenv)
Export('defenv')
######################################################################
@@ -89,7 +97,6 @@ SConscript('SCons/utils.py')
####### Options ###
######################################################################
-import os
default_doctype = 'html'
if defenv.WhereIs('hhc', os.environ['PATH']):
default_doctype = 'chm'