From ab840f445e01fc7e9e01f4b29d390f1227513e22 Mon Sep 17 00:00:00 2001 From: Joey Date: Sun, 15 Jul 2018 10:54:50 +0900 Subject: [PATCH 1/2] Remove cross-platform breaking env var in Nintendo Switch config This was bad to put in here, so my bad. It doesn't work on anything except platforms with shell support. Users can use `--passC` and `--passL` options for customization. --- config/nim.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/nim.cfg b/config/nim.cfg index 626f4494a1..c30190a181 100644 --- a/config/nim.cfg +++ b/config/nim.cfg @@ -111,10 +111,10 @@ path="$lib/pure" @if nintendoswitch: cc = "switch_gcc" - switch_gcc.options.linker = "-g -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE $SWITCH_LIBS" - switch_gcc.cpp.options.linker = "-g -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE $SWITCH_LIBS" - switch_gcc.options.always = "-g -Wall -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE $SWITCH_INCLUDES -D__SWITCH__" - switch_gcc.cpp.options.always = "-g -Wall -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE $SWITCH_INCLUDES -D__SWITCH__ -fno-rtti -fno-exceptions -std=gnu++11" + switch_gcc.options.linker = "-g -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE" + switch_gcc.cpp.options.linker = "-g -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE" + switch_gcc.options.always = "-g -Wall -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -D__SWITCH__" + switch_gcc.cpp.options.always = "-g -Wall -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -D__SWITCH__ -fno-rtti -fno-exceptions -std=gnu++11" @end # Configuration for the Intel C/C++ compiler: From d3c2fb22dbe2831d2b85aa92fd5c86f0eb961c54 Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Sun, 15 Jul 2018 11:23:22 +0900 Subject: [PATCH 2/2] Remove env vars from docs --- doc/nimc.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/nimc.rst b/doc/nimc.rst index a3adcc143d..0939f67e86 100644 --- a/doc/nimc.rst +++ b/doc/nimc.rst @@ -232,12 +232,12 @@ Cross compilation for Nintendo Switch ===================================== Simply add --os:nintendoswitch -to your usual ``nim c`` or ``nim cpp`` command and set the ``SWITCH_LIBS`` -and ``SWITCH_INCLUDES`` environment variables to something like: +to your usual ``nim c`` or ``nim cpp`` command and set the ``passC`` +and ``passL`` command line switches to something like: .. code-block:: console - export SWITCH_INCLUDES="-I$DEVKITPRO/libnx/include" - export SWITCH_LIBS="-specs=$DEVKITPRO/libnx/switch.specs -L$DEVKITPRO/libnx/lib -lnx" + nim c ... --passC="-I$DEVKITPRO/libnx/include" ... + --passL="-specs=$DEVKITPRO/libnx/switch.specs -L$DEVKITPRO/libnx/lib -lnx" or setup a nim.cfg file like so: @@ -259,10 +259,6 @@ an nro file with the ``elf2nro`` tool in the DevkitPro release. Examples can be `the nim-libnx github repo `_ or you can use `the switch builder tool `_. -Environment variables are: - - ``SWITCH_LIBS`` for any extra libraries required by your application (``-lLIBNAME`` or ``-LLIBPATH``) - - ``SWITCH_INCLUDES`` for any extra include files (``-IINCLUDE_PATH``) - There are a few things that don't work because the DevkitPro libraries don't support them. They are: