make sure we pass down important env vars

https://groups.google.com/d/topic/exfat/BfRq9XU2kQM/discussion

--- a/SConstruct
+++ b/SConstruct
@@ -29,6 +29,10 @@ destdir = env.get('DESTDIR', '/sbin');
 targets = []
 libs = ['exfat']
 
+if 'AR' in os.environ:
+	conf.env.Replace(AR = os.environ['AR'])
+if 'RANLIB' in os.environ:
+	conf.env.Replace(RANLIB = os.environ['RANLIB'])
 if 'CC' in os.environ:
 	conf.env.Replace(CC = os.environ['CC'])
 if 'CCFLAGS' in os.environ:
@@ -74,6 +74,9 @@ if platform.system() == 'FreeBSD':
 	conf.env.Append(LIBPATH = ['/usr/local/lib'])
 
 env = conf.Finish()
+for var in ('SYSROOT',):
+	if var in os.environ:
+		env['ENV'][var] = os.environ[var]
 
 def make_symlink(dir, target, link_name):
 	workdir = os.getcwd()
