Re: Question over the use of powershell in env['SHELL'] or some way to force relative paths

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CErn74aQO9xtS1gwm5nLYS0UTCAWpVVFJiDaWig98r=Yw@mail.gmail.com>
Take a read of:
https://github.com/SCons/scons/wiki/LongCmdLinesOnWin32

Also, why are you using full paths?
And/or can't you place your SConstruct at the top of your tree?

On Thu, Sep 20, 2018 at 10:10 PM RW via Scons-users <[email protected]>
wrote:

> Hi,
> I've got another question
> I've recently run into an issue whereby the command I'm trying to run
> within scons / windows exceeds the 8192 path limit
> This is partially due to scons using absolute paths during the build
> phase, possibly due to the way I have the scripts setup
>
> This leaves me with two options
>
> 1. Try to force the use of relative paths within scons
> 2. Try to use powershell as the shell since it seems to not have this issue
>
> The full setup is here
> https://github.com/Grbd-Forks/micropython/tree/scons2
> with the top level script being run under
> micropthon/ports/minimal (this is the only port I've tried setting up so
> far)
>
> The powershell approach nearly works, but seems to ignore the windows PATH
> when searching for the arm gcc compiler I have installed
> ```
> import distutils.spawn
> powershell_path = distutils.spawn.find_executable("powershell.exe")
> env.Replace(SHELL=powershell_path)
> ```
>
> The other approach migh be to force scons to change the absolute path to a
> relative one
> with the below example D:\SourceCode\GitRepos.Forks\micropython\py\mpz.c
> to ..\..\py\mpz.c
> but I'm unsure if theres a way to do that
>
> To give an example of the sort of command line I'm ending up with
> ```
> arm-none-eabi-gcc -E -std=c99 -DNO_QSTR -mthumb -mtune=cortex-m4
> -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
> -fsingle-precision-constant -Wdouble-promotion -Wall -Werror -nostdlib -Os
> -fdata-sections -ffunction-sections -DNDEBUG -I.
> -ID:\SourceCode\GitRepos.Forks\micropython -Ibuild
> D:\SourceCode\GitRepos.Forks\micropython\py\mpstate.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlr.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlrx86.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlrx64.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlrthumb.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlrxtensa.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nlrsetjmp.c
> D:\SourceCode\GitRepos.Forks\micropython\py\malloc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\gc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\pystack.c
> D:\SourceCode\GitRepos.Forks\micropython\py\qstr.c
> D:\SourceCode\GitRepos.Forks\micropython\py\vstr.c
> D:\SourceCode\GitRepos.Forks\micropython\py\mpprint.c
> D:\SourceCode\GitRepos.Forks\micropython\py\unicode.c
> D:\SourceCode\GitRepos.Forks\micropython\py\mpz.c
> D:\SourceCode\GitRepos.Forks\micropython\py\reader.c
> D:\SourceCode\GitRepos.Forks\micropython\py\lexer.c
> D:\SourceCode\GitRepos.Forks\micropython\py\parse.c
> D:\SourceCode\GitRepos.Forks\micropython\py\scope.c
> D:\SourceCode\GitRepos.Forks\micropython\py\compile.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitcommon.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitbc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmbase.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmx64.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitnx64.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmx86.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitnx86.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmthumb.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitnthumb.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitinlinethumb.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmarm.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitnarm.c
> D:\SourceCode\GitRepos.Forks\micropython\py\asmxtensa.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitnxtensa.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitinlinextensa.c
> D:\SourceCode\GitRepos.Forks\micropython\py\formatfloat.c
> D:\SourceCode\GitRepos.Forks\micropython\py\parsenumbase.c
> D:\SourceCode\GitRepos.Forks\micropython\py\parsenum.c
> D:\SourceCode\GitRepos.Forks\micropython\py\emitglue.c
> D:\SourceCode\GitRepos.Forks\micropython\py\persistentcode.c
> D:\SourceCode\GitRepos.Forks\micropython\py\runtime.c
> D:\SourceCode\GitRepos.Forks\micropython\py\runtime_utils.c
> D:\SourceCode\GitRepos.Forks\micropython\py\scheduler.c
> D:\SourceCode\GitRepos.Forks\micropython\py\nativeglue.c
> D:\SourceCode\GitRepos.Forks\micropython\py\stackctrl.c
> D:\SourceCode\GitRepos.Forks\micropython\py\argcheck.c
> D:\SourceCode\GitRepos.Forks\micropython\py\warning.c
> D:\SourceCode\GitRepos.Forks\micropython\py\map.c
> D:\SourceCode\GitRepos.Forks\micropython\py\obj.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objarray.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objattrtuple.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objbool.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objboundmeth.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objcell.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objclosure.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objcomplex.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objdeque.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objdict.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objenumerate.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objexcept.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objfilter.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objfloat.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objfun.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objgenerator.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objgetitemiter.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objint.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objint_longlong.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objint_mpz.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objlist.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objmap.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objmodule.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objobject.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objpolyiter.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objproperty.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objnone.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objnamedtuple.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objrange.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objreversed.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objset.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objsingleton.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objslice.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objstr.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objstrunicode.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objstringio.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objtuple.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objtype.c
> D:\SourceCode\GitRepos.Forks\micropython\py\objzip.c
> D:\SourceCode\GitRepos.Forks\micropython\py\opmethods.c
> D:\SourceCode\GitRepos.Forks\micropython\py\sequence.c
> D:\SourceCode\GitRepos.Forks\micropython\py\stream.c
> D:\SourceCode\GitRepos.Forks\micropython\py\binary.c
> D:\SourceCode\GitRepos.Forks\micropython\py\builtinimport.c
> D:\SourceCode\GitRepos.Forks\micropython\py\builtinevex.c
> D:\SourceCode\GitRepos.Forks\micropython\py\builtinhelp.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modarray.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modbuiltins.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modcollections.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modgc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modio.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modmath.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modcmath.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modmicropython.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modstruct.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modsys.c
> D:\SourceCode\GitRepos.Forks\micropython\py\moduerrno.c
> D:\SourceCode\GitRepos.Forks\micropython\py\modthread.c
> D:\SourceCode\GitRepos.Forks\micropython\py\vm.c
> D:\SourceCode\GitRepos.Forks\micropython\py\bc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\showbc.c
> D:\SourceCode\GitRepos.Forks\micropython\py\repl.c
> D:\SourceCode\GitRepos.Forks\micropython\py\smallint.c
> D:\SourceCode\GitRepos.Forks\micropython\py\frozenmod.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moductypes.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modujson.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modure.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moduzlib.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moduheapq.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modutimeq.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moduhashlib.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moducryptolib.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modubinascii.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\virtpin.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_mem.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_pinbase.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_signal.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_pulse.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_i2c.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\machine_spi.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modussl_axtls.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modussl_mbedtls.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modurandom.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\moduselect.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modwebsocket.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modwebrepl.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\modframebuf.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_reader.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_posix.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_posix_file.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_fat.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_fat_diskio.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\vfs_fat_file.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\utime_mphal.c
> D:\SourceCode\GitRepos.Forks\micropython\extmod\uos_dupterm.c
> D:\SourceCode\GitRepos.Forks\micropython\lib\embed\abort_.c
> D:\SourceCode\GitRepos.Forks\micropython\lib\utils\printf.c >
> build\genhdr\qstr.i.last
> ```
>
> Many Thanks
> Richard
>
> _______________________________________________
> Scons-users mailing list
> [email protected]
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.