How to choose SPI type used by RF24 library from application? I am developing a device with Ethernet shield (with Wiznet W5100) and NRF24L01+. I need to use Soft SPI due to a bug in the Wiznet chip. Next I am developing a different device with NRF24L01+ only. I want to use hardware SPI (besides other things it already contains a socket for NRF24L01+ connected to the default Arduino SPI pins).

It is very inconvenient to enable/disable #define SOFTSPI in RF24_config.h every time I want to work on the other device.

Is there a way how to choose the SPI type used by RF24 library in the application? 

My current solution is to make a copy of RF24 to RF24_SoftSpi and RF24Network to RF24Network_SoftSpi. I enabled SOFTSPI in “_SoftSpi” versions (+ renamed all files, fixed includes and #ifndef statements in headers to avoid ambiguous errors).

Then in an application I just include RF24_SoftSpi instead of RF24 and RF24Network_SoftSpi instead of RF24Network to use software SPI.

With this workaround it is difficult to make updates to “_SoftSpi” libraries when a new feature is released.

Do you know of any better solution?
Using this RF24 library set, I am able to use or not softspi by doing #define SOFTSPI on my sketch, there's no need to define it on the RF24_config.h, you should be able to define it on your own sketch.

EDIT: 

Arduino 1.6.5

#include &lt;SPI.h&gt;
#include "RF24.h"
#include "printf.h"
#define SOFTSPI //Define pins RF24_config.h

/****************** User Config ***************************/
/***      Set this radio as radio number 0 or 1         ***/
bool radioNumber = 0;

/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 &amp; 8     */
RF24 radio(8,9);

....
....
void setup() { ... }
void loop() { ... }