$NetBSD: patch-gambatte__sdl_SConstruct,v 1.4 2024/04/19 12:04:23 nia Exp $

Copy environment to SCons environment.

Use absolute path for sdl-config. I don't understand why this is necessary,
since PATH is set properly, but life's too short for debugging scons.

--- gambatte_sdl/SConstruct.orig	2014-09-28 22:13:10.000000000 +0000
+++ gambatte_sdl/SConstruct
@@ -1,17 +1,29 @@
+import SCons
 import subprocess
-
-cflags   = ARGUMENTS.get('CFLAGS', '-Wall -Wextra -O2 -fomit-frame-pointer')
-cxxflags = ARGUMENTS.get('CXXFLAGS', cflags + ' -fno-exceptions -fno-rtti')
-vars = Variables()
-vars.Add('CC')
-vars.Add('CXX')
+import os
 
 env = Environment(CPPPATH = ['src', '../libgambatte/include', '../common'],
-                  CFLAGS = cflags,
-                  CXXFLAGS = cxxflags,
-                  CPPDEFINES = [ 'HAVE_STDINT_H', None ],
-                  variables = vars)
-env.ParseConfig('sdl-config --cflags --libs')
+                  CPPDEFINES = [ 'HAVE_STDINT_H', None ])
+
+
+# copy environment variables because scons doesn't do this by default
+for var in ["CC","CXX","LD","LIBPATH","STRIP"]:
+	if var in os.environ:
+		env[var] = os.environ[var]
+		print("copying environment variable {0}={1!r}".format(var,os.environ[var]))
+
+# variables containing several space separated things
+for var in ["CFLAGS","CCFLAGS","CXXFLAGS","LINKFLAGS","CPPDEFINES","CPPPATH"]:
+	if var in os.environ:
+		if var in env:
+			env[var] += SCons.Util.CLVar(os.environ[var])
+		else:
+			env[var] = SCons.Util.CLVar(os.environ[var])
+		print("copying environment variable {0}={1!r}".format(var,os.environ[var]))
+
+env.Append(CXXFLAGS=['-fno-exceptions', '-fno-rtti'])
+
+env.ParseConfig('@PREFIX@/bin/sdl-config --cflags --libs')
 
 sourceFiles = Split('''
 			src/audiosink.cpp
